
java
百起
这个作者很懒,什么都没留下…
展开
-
集合对象源码分析小结(线程安全&线程非安全)
一、概念:线程安全:就是当多线程访问时,采用了加锁的机制;即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到该线程读取完之后,其他线程才可以使用。防止出现数据不一致或者数据被污染的情况。线程不安全:就是不提供数据访问时的数据保护,多个线程能够同时操作某个数据,从而出现数据不一致或者数据污染的情况。对于线程不安全的问题,一般会使用synchronized关键字或者ReentrantLock 加锁同步控制 。线程安全 工作原理: jvm中有一个main memory对象,原创 2020-06-02 08:22:32 · 176 阅读 · 0 评论 -
权限修饰符 default
通过下面表格回顾下几种修饰符的可见范围。default我们后面会说。权限 类内 同包 不同包子类 不同包非子类 private √ × × × 空 √ √ × × protected √ √ √ × public √ √ √ ...原创 2020-04-09 21:11:38 · 2936 阅读 · 0 评论 -
redis 保存对象(redisTemplate )
原文:https://blog.youkuaiyun.com/qq_31024823/article/details/81233752java 用redisTemplate 的 Operations存取list集合一 、存取为list类型@RestController@RequestMapping("/test")@Slf4jpublic class TestController {...转载 2020-03-31 16:15:35 · 6616 阅读 · 0 评论 -
java 实现多线程的三种实现方式及比较
方法一、继承Thread类,重写run 方法实现分析:任何一个线程在调用了start方法 后,都随时有可能上cup,上cpu后,直接执行run方法。这里的方案1,通过重写run方法,在run方法内加入业务需求,从而达到多线程执行的一个效果。方式二、实现Runnable 接口、并将runnable对象赋值给Thread对象实现分析:给Thread 的runnable 赋值,...原创 2020-03-11 15:33:49 · 456 阅读 · 0 评论 -
java 中volitale 原理
111原创 2020-03-10 23:28:51 · 395 阅读 · 0 评论 -
java 程序的性能优化---tomcat优化(jvm优化)、SQL优化
主要从以下几个方面(tomcat优化包括jvm方向、SQL优化)总结下对于性能优化的理解 ,以及一些操作步骤。虽然代码的架构优化,也是一个能大大提升性能的方向,但是对于老项目来说,我们往往不能轻易调整整个代码的架构,而从以上三个方面切入的性价比看上去还不错。我们首先要谈tomcat优化,tomcat 也是使用了jvm的,所以jvm的优化其实也包含在tomcat优化中。sql的优...原创 2020-03-08 10:23:16 · 532 阅读 · 0 评论 -
springboot 中运用切面aop
1、在pom.xml中引用spring-boot-starter-aop依赖2、创建HttpAspect.java类,加上@Aspect注解@Poincut注解表示切入的点,即程序中通用的逻辑业务,这里是请求的路径@Before注解表示当前方法是在具体的请求方法之前执行@After注解表示当前方法是在具体的请求方法之后 执行@AfterReturning注解可以得到请求...原创 2020-02-25 21:16:51 · 439 阅读 · 0 评论 -
动态代理-实现原理(jdk方式)
1、代理的含义:需求:原来的sevice功能已经确定了。产品希望给每个service 统一加点功能上去,比如打印日志。2、静态代理:直接写死,变动不方便3、动态代理jdk方式jdk方式:java自带的,通过反射实现,应用非常广泛。使用要求:代理目标对象必须基于接口一开始的项目中有UserService ,和他的实现类UserServiceImpl ,为了附加功能我们创...原创 2020-02-06 10:10:00 · 280 阅读 · 0 评论 -
正则表达式小结
如果你只是想找一个你要用的正则表达式,那么可能下面就会有,如果你想了解正则表达式的原理概念,请移步中间的分割线下的中文 :[\u4e00-\u9fa5]email:[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?网址:[a-zA-z]原创 2017-04-23 20:32:02 · 602 阅读 · 0 评论 -
md5 实现原理
第一段主题:md5 是什么,有神马用?第一段内容:message-digest algorithm 5 (信息-摘要算法)是一种将字符串经过一系列计算处理以后,得到一个32位的16进制串比如(ADAF1231A1B4AF12ADAF1231A1B4AF12) 。 有什么用呢?我用过的一种是在a程序中给参数加密,通过网络调用,参数传递到了b程序,如何保证参数再传递过程中没有被别的程原创 2017-04-23 16:58:09 · 3524 阅读 · 0 评论 -
Md5实现算法源码
本文档中只包含源码,如需查看md5的加密过程可以移步我的另外一篇博客http://blog.youkuaiyun.com/ygy162/article/details/70502579package defire.com.utils;public class MD5 { static final String hexs[]={"0","1","2","3","4","5","6","原创 2017-04-23 19:38:06 · 3686 阅读 · 2 评论 -
log4j基本知识
log4j原创 2017-03-15 16:09:37 · 299 阅读 · 0 评论 -
String中intern的方法 String.intern();
String中intern的方法 首先查看官方API那个的解释:———————————————————————————————————————internpublic String intern()返回字符串对象的规范化表示形式。//不懂什么叫规范化???存在一个初始时为空的字符串池,它由类 String 维护。当调用 intern 方法时,如果池已经包含一个等于此 String 对象的字符串(原创 2016-11-12 22:03:51 · 619 阅读 · 1 评论 -
最简实例说明wait、notify、notifyAll的使用方法
来源:cnphp6 http://www.cnphp6.com/archives/62258wait()、notify()、notifyAll()是三个定义在Object类里的方法,可以用来控制线程的状态。这三个方法最终调用的都是jvm级的native方法。随着jvm运行平台的不同可能有些许差异。 如果对象调用了wait方法就会使持有该对象的线程把该对象的控制权交出去,然后处于等待状态。转载 2016-11-15 08:05:33 · 521 阅读 · 0 评论 -
文章标题
大家说的多,而很多很多新手不太理解的一个线程的同步与异步,今天总结下。 一个程序一般是一个进程,而我们有时候程序要求多线程(thread)。什么是多线程呢?学习过线程的同学应该都记得 建立一个线程的两个方法,第一:就是MyThread继承系统的Thread 实现run方法,在创建的时候是直接new MyThread(),然后通过调用 该线程子类的.start(),方法启动。这个有一个问题就是原创 2015-07-25 17:35:39 · 374 阅读 · 0 评论 -
线程的同步异步,以及具体代码实现,使用场景
大家说的多,而很多很多新手不太理解的一个线程的同步与异步,今天总结下。一个程序一般是一个进程,而我们有时候程序要求多线程(thread)。什么是多线程呢?学习过线程的同学应该都记得 建立一个线程的两个方法,第一:就是MyThread继承系统的Thread 实现run方法,在创建的时候是直接new MyThread(),然后通过调用该线程子类的.start(),方法启动。这原创 2015-07-25 12:06:04 · 1078 阅读 · 0 评论