![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 77
weixin_42412601
后生仔
展开
-
基于Btrace的监控调试
目录简介1、Btrace是什么?2、Btrace的使用限制?3、Btrace能做什么?安装使用1、获取方法的参数值2、拦截构造函数、同名函数2.1 拦截构造函数2.1 拦截同名方法简介1、Btrace是什么?在生产环境中经常遇到格式各样的问题,如OOM或者莫名其妙的进程死掉。一般情况下是通过修改程序,添加打印日志;然后重新发布程序来完成。然而,这不仅麻烦,而且带来很多不可控的因素。有没有一种方式,在不修改原有运行程序的情况下获取运行时的数据信息呢?如方法参数、返回值、全局变量、堆栈信息等。Btrace原创 2021-01-21 23:36:50 · 299 阅读 · 2 评论 -
Jmeter压力测试
1.添加线程组:2.添加并发数这里两万个并发3.添加http请求原创 2020-08-25 18:29:53 · 631 阅读 · 0 评论 -
jdk9和jdk11
这里写目录标题一、JDK11IDEA切换到JDK111、Jshell(java9开始)2、Dynamic Class-File Constants类文件新添的一种结构3、局部变量类型推断(var "关键字")4、新加一些实用的API4.1、集合of4.2、集合copyOf一、JDK11安装jdk11IDEA切换到JDK111、Jshell(java9开始)启动jshell就相当于进入 main方法,直接敲代码执行就可以了。简而言之,使用 JShell,你可以输入代码片段并马上看到运行结原创 2021-01-04 21:24:00 · 539 阅读 · 0 评论 -
Java8 并行流原理
目录一、并行流的简单使用1、我的`CPU`为8核,为啥只有七条线程?2、如何控制`parallize`的线程数?二、源码解析一、并行流的简单使用 public static void main(String[] args) throws InterruptedException { //设置睡眠时间,方便visualVM监控到当前应用 Thread.sleep(25000); //groupingBy分组 键就是组名【返回值做组名】,Map的值就是该组的原创 2020-10-09 18:20:49 · 1664 阅读 · 0 评论 -
版本的解释
转载 2020-09-02 16:58:58 · 142 阅读 · 0 评论 -
Session共享问题
目录session原理Session共享问题集群环境下的`session`共享问题分布式环境下的`session`共享问题Session解决方案方案一:session复制方案二:客户端存储方案三:hash一致性方案四:统一存储不同服务,子域session共享session原理1、用户第一次访问服务器,进行登录;2、服务器把用户信息保存到session中,由sessionManager管理着;可以简单理解session为map,为服务器的一片内存空间3、浏览器保存一个jsessionid=123的co原创 2020-09-01 15:20:19 · 743 阅读 · 1 评论 -
MD5&加盐&BCrypt盐值加密
MD5Message Digest algorithm 5,信息摘要算法压缩性:任意长度的数据,算出的MD5值长度都是固定的。容易计算:从原数据计算出MD5值很容易。抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。强抗碰撞:想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的。不可逆加盐通过生成随机数与MD5生成字符串进行组合数据库同时存储MD5值与salt值。验证正确性时使用salt进行MD5即可 @Test .原创 2020-08-31 15:09:40 · 756 阅读 · 0 评论 -
JDK和CGLIB动态代理区别
目录JDK动态代理CGLIB动态代理何时使用JDK还是CGLIBJDK动态代理和CGLIB字节码生成的区别Spring如何选择用JDK还是CGLIB代码实例JDK动态代理利用拦截器(拦截器必须实现InvocationHanlder)加上反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。CGLIB动态代理利用ASM开源包,对代理对象类的class文件加载进来,通过修改其字节码生成代理子类来处理。何时使用JDK还是CGLIB如果目标对象实现了接口,默认情转载 2020-06-14 22:08:56 · 150 阅读 · 0 评论 -
注解和反射
目录注解内置注解元注解自定义注解注解读取反射机制获取反射对象注解注解是jdk1.5引入的技术。本质是一个继承了Annotation的特殊接口,其具体实现类是Java运行时生成的动态代理类。作用:不是程序本身,可以对程序做出解释,可以被其他程序(比如:编译器)读取。格式:注解是以“@注释名”在代码中存在的,还可以添加一些参数值。使用位置:可以附加在package,class,method,...原创 2020-04-02 12:16:51 · 136 阅读 · 0 评论 -
使用AOP和Semaphore对项目中接口进行限流
目录依赖application.properties配置自定义注解添加所有接口的配置的限流量限流切面使用注解测试依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId>...原创 2020-03-28 20:19:56 · 546 阅读 · 2 评论 -
jdk1.8 HashMap原理
目录哈希表哈希函数:哈希表哈希冲突HashMap原理概述HashMap数据结构确定哈希桶数据索引位置`HashMap`的`put`方法实现`HashMap`的`get`方法实现扩容机制附录哈希表在学习hashmap前,先了解一下哈希表。哈希函数:Hash函数就是根据key计算出应该存储地址的位置,而哈希表是基于哈希函数建立的一种查找表。比如我们要新增或查找某个元素,我们通过把当前元素的关键...原创 2020-03-24 00:30:57 · 498 阅读 · 1 评论 -
java web三大组件——Listener
Listener是Servlet的事件监听器。监听器常用的用途统计在线人数,利用HttpSessionLisener加载初始化信息:利用ServletContextListener统计网站访问量实现访问监控启动顺序监听器>过滤器>servlet分类例子:@WebListenerpublic class MyServletContextListener imple...原创 2020-01-27 14:25:02 · 100 阅读 · 0 评论 -
java web三大组件——Servlet
Servlet容器web容器中有servlet容器,spring项目部署后存在spring容器和springmvc容器(是spring的子容器)。其中spring控制service层和dao层的bean对象。springmvc容器控制controller层bean对象。servlet容器控制servlet对象。项目启动是,首先 servlet初始化,初始化过程中通过web.xml中spring...原创 2020-01-26 23:28:57 · 313 阅读 · 0 评论 -
classpath,jar,war
classapth:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;是在环境变量里配置的, .表示当前目录 系统类加载器加载的就是classapth里的jar或目录jar包:就是别人已经写好的一些类,然后对这些类进行打包。可以将这些jar包引入到你的项目中,可以直接使用这些jar包中的类和属性,这些jar包一般放在lib目录下。...原创 2019-11-29 10:46:25 · 348 阅读 · 0 评论 -
SPI机制
SPI ,全称为 Service Provider Interface,是一种服务发现机制。它通过在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类。这一机制为很多框架扩展提供了可能,比如在Dubbo、JDBC中都使用到了SPI机制。JDBC的设计,jdk提供了一个接口java.sql.Driver,通常各大厂商(如Mysql、Oracle)...原创 2019-11-28 15:44:33 · 243 阅读 · 0 评论 -
java 使用第三方邮件发邮件
这里使用126。准备工作:依赖 <!--发邮件--> <dependency > <groupId >javax.mail </groupId > <artifactId >mail </artifactId > <...原创 2019-11-04 16:14:08 · 585 阅读 · 1 评论 -
使用HttpClient以及RestTemplate,调用外部服务
获取Get方式外部接口:package com.tydic.sz.mobileapp.service.busi.impl.homepage;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.ohaotian.plugin.base.exception.ZTBusinessE...原创 2019-10-24 10:56:41 · 550 阅读 · 0 评论 -
JSR300数据校验
https://www.cnblogs.com/albert1024/articles/8436270.html原创 2020-03-17 18:08:02 · 374 阅读 · 0 评论 -
二重循环公式
二重循环的公式:j<mi + n内层循环变量j<每轮循环递增次数外层循环循环变量 + 第一轮循环次数原创 2019-08-20 18:26:45 · 356 阅读 · 0 评论 -
JDK1.8新特性——Stream
@Test public void studyStream() throws Exception{ //参考:https://www.runoob.com/java/java8-streams.html //生成流 //stream() 为集合创建串行流 //parallelStream() 为集合创建并行流 ...原创 2021-01-28 21:54:18 · 1588 阅读 · 1 评论 -
时间转换问题
数据库sys_renew_time是datetime类型实体类的SysRenewTime是date类型mybaties没有datetime类型,用Timestamp 转换现在要根据时间2019-08-27 09:48:12去查询对应的数据: String dateTime="2019-08-27 09:48:12"; //创建一个格式化日期对象 SimpleDat...原创 2019-08-28 10:07:36 · 132 阅读 · 0 评论 -
JDK1.8新特性——方法引用
/** * @创建人 liuzhihui * @创建时间 2019/8/29 * @描述 */public class Person { private String name; private LocalDate birthday; public Person(String name, LocalDate birthday) { this.na...原创 2019-08-29 23:34:33 · 280 阅读 · 0 评论 -
JDK1.8新特性——Optional
Optional类是Java8为了解决null值判断问题。Optional对象创建 // 1、创建一个包装对象值为空的Optional对象 Optional<String> optStr = Optional.empty(); // 2、创建包装对象值非空的Optional对象 Optional<String>...原创 2021-01-28 21:31:06 · 292 阅读 · 0 评论