Java

AQS原理学习

AQS 类如其名,抽象的队列式同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch... 框架 它维护了一个volatile int state(代表共享资源)和一个FIFO线程等待队列(多线程争用资源被阻塞时会进入此队列)。 AQS定义两种资源共享方式:Exclusive(独占,只

《程序是怎样跑起来的》第2章

本周主要阅读了用二进制来理解数据。二进制这个东西啊,其实也很简单。那么什么是二进制呢?二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。计算机中的二进制则是一个非常微小的开关,用1来表示“开”,0来表示“关”。首先,我们有这样一个转换,将00100111这个二进制转换成十进制。我们需要将二进制数的各位数字乘

flink状态编程

flink状态编程 简单记录一下最近工作中常用的flink状态 flink中可以创建不同类型的状态,如键控状态(Keyed State)和操作符状态(Operator State)等。状态管理是在流处理的整个过程中保持状态的一种能力,它让我们能够在复杂的事件处理和流转换中保留重要的状态信息,例如:聚合结果、过滤条件、模型参数等。   

很详细的解决Tomcat乱码问题

    1、打开tomcat的/conf/server.xml,给它显示的增加编码方式   <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>    2、将日志的编码格式也修改一下

jenkins流水线脚本使用

目录pipeline 流水线的使用脚本示例语法点击流水线语法后面有代码生成器生成拉取git的代码沙盒允许的脚本不需要审核非沙盒脚本审核的位置执行 Java -jar 文件进程退出问题如果是pipeline风格的项目如果是自由风格Jenkinsfile pipeline 流水线的使用 脚本示例 语法 pipeline 定义流水线标志 stages 定义阶段 stage 定义具体的阶段 steps

java flink(二十六) 实战之电商黑名单过滤 Flink CEP编程实现、什么是CEP、CEP组合模式demo、CEP循环模式demo

java flink(二十六) 实战之电商黑名单过滤 Flink CEP编程实现、什么是CEP、CEP组合模式demo、CEP循环模式demo 什么是CEP: 1、复杂事件处理 2、Flink中实现复杂事件处理库 3、CEP允许在无休止的事件中检测事件模式,让我们有机会掌握数据中的重要部分 4、一个或多个由简单事件构成的事件通过一定的规则匹配,然后

js中对数组的unshift是什么操作,为什么使用unshift进行命名?

在JavaScript中,unshift() 是数组对象的一个原生方法,它用于向数组的开头添加一个或多个元素,并将原有的数组元素依次向后移动。 这个方法会改变原始数组本身,同时返回新的数组长度。 在英语中,“unshift”不是一个标准的单词,但我们可以将其拆解为“un-”和“shift”。其中: “un-” 是一个前缀,通常表示反向操作或取消某个动作,如“unlock”(解锁)、“undo”(撤

Java开发之日期的比较、Java 日期时间、LocalDate方法使用总结、day048:LocalDateTime中增加、减少、直接修改时间的方法、计算时间间隔的方法

Java开发之日期的比较 https://baijiahao.baidu.com/s?id=1640171139026412438&wfr=spider&for=pc Java 日期时间 http://edu.jb51.net/java/java-date-time.html LocalDate方法使用总结 https://blog.csdn.net/weixin_45433031

二分查找(折半查找)

二分查找的前提:数组中的数据必须是有序的 核心思想:每次排除一半的数据,查询数据的性能明显提高很多 实现步骤 1.定义两个变量,一个代表左边位置,一个代表右边位置 2.定义一个循环控制折半 3.每次折半,都算出中间位置处的索引 4.判断当前要找的元素值,与中间位置处的元素值的大小情况 往左边走,截止位置(右边位置)=中间位置-1 往右边走,起始位置(左边位置)=中间位置+1 中间位置处的元素值,正

什么是JavaScript表达式语句?

JavaScript语法(三):什么是表达式语句? 不知道你有没有注意到,我们在语句部分,讲到了很多种语句类型,但是,其实最终产生执行效果的语句不多。 事实上,真正能干活的就只有表达式语句,其它语句的作用都是产生各种结构,来控制表达式语句执行,或者改变表达式语句的意义。 今天的课程,我们就深入到表达式语句中来学习一下。 什么是表达式语句 表达式语句实际上就是一个表达式,它是由运算符连接变量或者直接

界面控件DevExtreme v23.2新版亮点 - 全新的Fluent主题

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NET Core或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程序中使用。

面试官:什么是JIT、逃逸分析、锁消除、栈上分配和标量替换?

JIT、逃逸分析、锁消除、栈上分配和标量替换等都属于 JVM 的优化手段,JVM 优化手段是指在运行 Java 程序时,通过对字节码的编译和执行过程进行优化,以提升程序的性能和效率。 JVM 优化手段主要有以下几个: JIT(Just-In-Time,即时编译):是一种在程序运行时将部分热点代码编译成机器代码的技术,以提高程序的执行性能的机制。 逃逸分析:用于确定对象动态作用域是否超过当前方法

Java21 + SpringBoot3整合springdoc-openapi,自动生成在线接口文档,支持SpringSecurity和JWT认证方式

目录前言相关技术简介OpenAPISwaggerSpringfoxspringdocswagger2与swagger3常用注解对比实现步骤引入maven依赖修改配置文件设置api-docs和swagger-ui访问权限定义springdoc配置类修改Controller类和实体类查看效果总结 前言 近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系统和前台系

Vim-从放弃到入门

初识Vim Vim被称为神一样的编译器,人类历史上最好文本编辑器(^_^)。学习成本很高,学习路线陡峭。下面列举一些入门的教程: 慕课网-玩转Vim 从放弃到爱不释手 新手必看 Vim实用技巧(第2版) 精通Vim:用Vim8和Neovim实现高效开发 vimtutor,在命令行中输入 vimtutor -g zh 插件入门,GitHub链接 Vim状态模式 vim中总共有五种模式,分别为:

浅谈IO流(上)

IO流的作用:就是可以对文件或者网络中的数据进行读、写的操作。如下图所示 把数据从磁盘、网络中读取到程序中来,用到的是输入流。 把程序中的数据写入磁盘、网络中,用到的是输出流。 简单记:输入流(读数据)、输出流(写数据) IO流分为两大派系: 1.字节流:字节流又分为字节输入流、字节输出流 2.字符流:字符流由分为字符输入流、字符输出流 字节流:FileInputStream读取一个字节,

深入浅出Java多线程(四):线程状态

引言 大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第四篇内容:线程状态。大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!! 在现代软件开发中,多线程编程已经成为提升应用程序性能和响应能力的关键技术。Java作为一门支持多线程编程的主流语言,其内置的丰富并发库使得开发者能够轻松创建、管理和协调多个线程以实现高效的并发执行。然而,深入理解和掌握Java线程的工作机

网络代理

1、访问github   安装 Proxy SwitchyOmega   1、需要访问谷歌商店      首先要去电脑网络上设置代理                                     谷歌商店:https:/

后端写法总结

一、类型转换之间的工具类 二、跨库查询 1、在resources目录下新建一个文件constants.properties 2、内容 constants.dataSource=A,13808; 3、在java文件夹下新建config文件夹,新建类文件 4、获取参数文件中的内容信息 5、mapper文件 6、实现接口文件  

前端密码安全发送至服务器端

用户登录时,密码应该通过安全的方式发送到服务器,然后服务器进行验证,并且不应该将密码直接包含在 JWT 中。以下是一些常见的方法来确保密码传输的安全性: 使用 HTTPS:确保登录请求通过 HTTPS 协议进行传输,这样可以加密通信并防止中间人攻击。 哈希密码:在客户端将密码哈希化之后再发送到服务器。这样即使传输被截获,也不会直接暴露用户的原始密码。 Salt 和哈希:服务器端存储的密码应该使用适

深入了解java对象分配

1. 对象的创建 在语言层面上,创建对象通常仅仅是一个new关键字而已,而在虚拟机中,对象(对象限于普通Java对象,不包括数组和Class对象等)的创建又是怎样一个过程呢? 当Java虚拟机遇到一条字节码new指令时, ① 首先将去检査这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。 ② 如果没有,那必须先执行相应的类加载过

使用Docker部署Tomcat

目录使用Docker部署Tomcat1. 获取镜像2. 第一次启动tomcat3.带参数启动4.查看tomcat日志5.时区问题 使用Docker部署Tomcat 1. 获取镜像 2. 第一次启动tomcat 该步骤作用:是为了拷贝容器中Tomcat中的conf下配置文件和webapps下的管理页面,用于后面自定义Tomcat服务器配置或者部署应用。 第一次启动: 在宿主机创建文件夹: 从容

streampark+flink一键整库或多表同步mysql到doris实战

streampark+flink一键整库或多表同步mysql到doris实战,此应用一旦推广起来,那么数据实时异构时,不仅可以减少对数据库的查询压力,还可以减少数据同步时的至少50%的成本,还可以减少30%的存储成本; streampark搭建 二进制包编译构建 编译构建二进制可执行包,使用自己构建的二进制包构建Docker镜像,需要准备一台Linux的服务或者是虚拟机,可以正常上网即可,在该台机

【专题】2023年直播、短视频行业报告汇总PDF合集分享(附原数据表)

原文链接:https://tecdat.cn/?p=35077 原文出处:拓端数据部落公众号 中国直播电商行业正在经历蓬勃发展的时期,各大互联网平台之间的竞争日益激烈,而直播电商已成为品牌营销的常态。随着直播电商的崛起,对品牌提供了全新的产品营销和特惠促销渠道,同时也作为新产品生产和推广的媒体发布平台。本文将深入洞察中国直播电商行业的机遇和挑战,分析了不同行业领域的发展趋势和消费者行为特征。阅读原

阿里云推出 3.x Java 探针,解锁应用观测与治理的全新姿势

作者:张铭辉、泮圣伟 前言 随着春节大促即将到来,为了确保线上业务高效稳定地运行,电商企业大多会对旗下关键业务应用进行多轮测试。通过模拟线上较高流量的请求,来观察服务性能的实际表现。以某企业的业务测试报告举例: 图 1 压测报告显示,成功率非常低,且全局接口成功率都很低 通过报告可以看到: 当应用所承受的流量增加至特定临界点时,请求成功率大幅下降,导致整个测试周期内平均成功率相当惨淡,仅有 9

微信小程序学习

微信小程序学习 1.小程序各个目录作用 关于全局配置参见:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html 例如配置小程序首页 小程序首页如果没有配置entryPagePath,则会取全局app.json文件 pages 属性的首元素作为启动小程序的默认首页。也可以使用 entryP

1247-jndi

Fastjson 1247-jndi 复现过程 依旧是探测一下 fastjson 的版本,使用: 关于这种方式探测fastjosn版本,条件是需要response中会回显报错信息,但实际环境可能存在不回显的情况,那就需要利用其他手段了 那么已知fastjson版本为1.2.47,那么我们就可以尝试利用fastjson的JNDI特性来执行命令了。 这次使用的是 JNDI-Injection-Ex

28图图解Raft协议,so easy~~

大家好,我是三友~~ 在之前写的《万字+20张图探秘Nacos注册中心核心实现原理》 这篇文章中我留了一个彩蛋 当文章点赞量突破28个,就单独写一篇关于Raft协议的文章 既然现在文章点赞量已经超过28个,那我就连夜爆肝,把这个坑给填上 由于Nacos使用的是实现了Raft协议的JRaft框架,所以本文主要是基于JRaft框架来讲解 本文我大致分为了下面三个方面的内容: 第一个方面就是讲解在Ra

打包工具 Webpack(一)

打包工具 Webpack(一) 为什么需要打包工具? 开发时,我们会使用框架(React、Vue),ES6 语法、less/scss 等 css 预处理器 但是浏览器只认识纯粹的 HTML / CSS / JavaScript 所以我们需要打包工具帮我们转成浏览器认识的语法 除此之外,打包工具还能压缩代码、提升代码性能等 让我们来个案例演示一下,当我们把如下代码放入index.html文件中,

1247-jndi-waf

1247-jndi-waf 复现 1.判断 既然是Json格式自然优先尝试是否是Fastjson. 判断是否为Fastjson:删掉末尾的}或添加",使其解析报错,这样就代表的使用的是 fastjson。 2.查看版本 接下来就是探测版本. 有两种方法,通过报错和Dnslog. 从返回包可以发现有 waf 拦截,但是Fastjson本身是默认识别并解码hex和unicode编码的,所以可以利

bat批处理命令常用操作大全

BAT命令常用操作学习大全 一、基础语法: 1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。可以使用任何文本文件编辑工具创建和修改。 2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环。 3.批处理的编程能力远不如C语言等编程语言,也十分不规范。 4.每个编写好的批处理文件都相当于一个DOS的外部命令,把它所在的目录放到

<<  <  574  575  576  577  578  579  580  581  582  583  584  >  >>