自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

原创 elasticsearch模仿淘宝、京东、百度、谷歌搜索,自动补全、自动完成

现在的很多搜索引擎都具备了自动补全纠错的功能,我们熟悉的淘宝、京东、百度、谷歌等。我们输入“华为手机”,“huaweishouji”,“hwsj”,“huawei手机”,“华为shouji”,“hua为shou机”,都可以出现自动完成提示如下作者就商品搜索的多个场景的实现做了技术整理,需要的小伙伴请添加微信RR-sasa,请备注csdn-es...

2021-03-24 17:37:18 967

原创 springboot @Transactional事务原理源码

如果说chain是空的,那么就会直接通过反射调用原始bean的方法,那就没有事务。扫描spring-boot-autoconfigure依赖包下的META-INF/spring.factories,加载文件里的TransactionAutoConfiguration类,可以看到sringboot在2.0之后默认使用了cglib代理,下面将的是jdk的代理,原理是一样的。

2023-02-04 16:43:06 241

转载 九种读取resources目录下的文件

九种方式获取resources目录下文件的方式。

2022-12-27 15:05:07 174

原创 线程池放在局部和成员的区别

1.线程池释放的情况有核心线程数的线程池,线程池是不会主动释放的,除非线程全都死掉了,线程池才随之释放2.线程池作为局部变量在调用该方法的时候就会频繁的创建线程池的实例,如果在没有手动调用shutdown方法的情况下会导致内存泄露。如果非要放在局部不可,需要对核心线程设置超时时间并且主动调用shutdown关闭线程池3.线程池作为成员变量这要分两种情况:(1)如...

2019-02-19 19:23:34 2546

原创 CPU高速缓存

越接近底层的缓存,效率越高,容量越小一级缓存(L1 Cache)L1 d-Cache是代码指令缓存,L1-i-Cache是数据缓存CPU一级缓存,就是指CPU的第一层级的高速缓存,主要当担的工作是缓存指令和缓存数据。一级缓存的容量与结构对CPU性能影响十分大,但是由于它的结构比较复杂,又考虑到成本等因素,一般来说,CPU的一级缓存较小,通常CPU的一级缓存也就能做到256KB左右的...

2019-02-19 19:22:41 1186

原创 缓存一致性协议

一个cpu运行计算的步骤例如以下:1.程序以及数据被载入到主内存2.指令和数据被载入到cpu的快速存储3.cpu运行指令,把结果写到高速缓存4.高速缓存中的数据回写到主内存MESI是一种主流的缓存一致性协议,已经用在Pentium和PowerPC处理器中。modified(改动):缓存块已经改动,必须被写回主存。其它处理器不能再缓存这个块exclusive(相互排...

2019-02-19 19:21:12 387

原创 synchronized和lock的原理区别

一、synchronized原理synchronized用的锁是存在java对象头里的JVM基于进入和退出Monitor对象来实现方法同步和代码块同步。1.代码块同步使用monitorenter和monitorexit指令实现的,monitorenter指令是在编译后插入到同步代码块开始位置,而monitorexit是插入到方法结束后和异常处。任何对象都有一个monitor...

2019-02-19 19:18:52 4395

原创 URL,URI,URN的区别

java中操作URI(可以对URLecoder进行解码,这一定要解码之后再调用方法,不解码可能会有问题)public void uriTest() throws Exception{URI uri = new URI("https://www.qiandu.com:8080/goods/index.html?username=dgh&passwd=123#j2se");...

2019-02-19 19:14:45 216

原创 String返回引用

String str2 = new String("str")+new String("01");str2.intern();String str1 = "str01";System.out.println(str2==str1);在JDK 1.7下,当执行str2.intern();时,因为常量池中没有“str01”这个字符串,所以会在常量池中生成一个对堆中的“str01”的引用...

2019-02-19 19:13:14 609

原创 io体系及各种流详解

基于字节的操作SequenceInputStream基于字符的操作- 文件流- 字节数组流- 管道流- 缓冲流- 数据流- 压缩流- 摘要流- 加密流- 多重流FileInputStream/FileOutputStream 需要逐个字节处理原始二进制流的时候使用,效率低下FileReader/FileWriter 需...

2019-02-19 19:12:29 199

原创 同步、异步和阻塞、非阻塞

一、三种IOBIO(同步阻塞式IO):同步阻塞式io,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池的机制改善。NIO(同步非阻塞式IO):同步非阻塞式io,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一...

2019-02-19 19:07:17 189

原创 File类

一、构造方法File(String pathName)// D:\\a.txtFile(String parent,String child)//D:\\my,a.txtFile(File parent,String child)//new File('D:\\my'),a.txt二、File类的方法public boolean createNewFile();创建文件,已经存...

2019-02-19 18:58:56 91

原创 IO流读写文件

一、FileOutputStreamFileOutputStream(File file);FileOutputStream(String name);FileOutputStream o = new FileOutputStream();//在springboot中如果只是写个文件名,那么它会生成在pom.xml同级目录下如果指定了绝对路径就会生成绝对路径下o.writer(...

2019-02-19 18:57:58 351

linux操作用户及权限分配

本资源包含Linux常用的用户和用户组增加和修改的命令,以及用户划分权限目录

2018-02-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除