自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring定时任务使用线程池及源码探索

spring定时任务及源码解析

2022-01-12 10:40:15 2598

原创 java对象内存分析工具JOL

起源:在优化一段逻辑的时候用到了本地缓存,本地缓存里面有个参数是设置最大对象数量。设置的时候暂时无法评估需要多少个,那退而求其次就先搞明白将要放进去的对象一个多大。看过之前一个文章,https://mp.weixin.qq.com/s/XLCHuMiQ1nFWxLN9urx3aAnew一个对象占用了多少字节中提到了一个查看对象大小工具jol,那么就今天就拿来玩玩。JOL是用来查看对象内存分布及对象内不同部分的占用字节数,官网地址http://openjdk.java.net/projects/..

2021-02-28 19:44:03 416

原创 笔记:Spring的 IOC 容器比New对象究竟好在哪

原文章连接:https://mp.weixin.qq.com/s/uyxKcY9X9BRP8Dzx5THAsQ

2021-02-27 18:09:27 377

原创 笔记:腾讯CodeReview规范

原文章地址:https://mp.weixin.qq.com/s/MzozROQY9szDF1GCOFrUuw为什么要做code review同学们可以在 review 过程中做到落地沟通,不再是空对空的讨论,可以在实际问题中产生思考的碰撞,互相学习,大家都掌握团队里积累出来最好的实践方式!当然,如果 leader 没时间写代码,仅仅是 review 代码,指出其他同学某些实践方式不好,要给出好的实践的意见,即使没亲手写代码,也是对最佳实践要有很多思考。必须形而上的思考从知识点联系起.

2021-02-19 13:23:26 467

原创 笔记:关于网络的几个linux工具

原地址:https://mp.weixin.qq.com/s/QflFSpNopqq1kA-_7OsyIw

2021-02-19 10:13:53 62

转载 Fork/Join实现排序逻辑

使用归并算法解决排序问题排序问题是我们工作中的常见问题。目前也有很多现成算法是为了解决这个问题而被发明的,例如多种插值排序算法、多种交换排序算法。而并归排序算法是目前所有排序算法中,平均时间复杂度较好(O(nlgn)),算法稳定性较好的一种排序算法。它的核心算法思路将大的问题分解成多个小问题,并将结果进行合并。整个算法的拆分阶段,是将未排序的数字集合,从一个较大集合递归拆分成若干较小的...

2019-10-12 11:39:42 434

转载 java内存屏障

为什么会有内存屏障每个CPU都会有自己的缓存(有的甚至L1,L2,L3),缓存的目的就是为了提高性能,避免每次都要向内存取。但是这样的弊端也很明显:不能实时的和内存发生信息交换,分在不同CPU执行的不同线程对同一个变量的缓存值不同。 用volatile关键字修饰变量可以解决上述问题,那么volatile是如何做到这一点的呢?那就是内存屏障,内存屏障是硬件层的概念,不同的硬件平台实现内存屏障的...

2019-10-10 17:06:20 292

转载 java线程相关杂记

Java线程的两个特性,可见性和有序性。可见性:多个线程之间是不能直接传递数据交互的,它们之间的交互只能通过共享变量来实现。多个线程之间共享了Count类的一个对象,这个对象是被创建在主内存(堆内存)中,每个线程都有自己的工作内存(线程栈),工作内存存储了主内存Count对象的一个副本。当线程操作Count对象时,首先从主内存复制Count对象到工作内存中,然后执行代码count.increm...

2019-10-09 16:49:43 112

原创 Reactor设计模式

Reactor模式模块之间的交互简单描述一下Reactor各个模块之间的交互流程,先从序列图开始:1. 初始化InitiationDispatcher,并初始化一个Handle到EventHandler的Map。2. 注册EventHandler到InitiationDispatcher中,每个EventHandler包含对相应Handle的引用,从而建立Handle到EventHandl...

2019-10-08 19:26:12 354

转载 java线程虚假唤醒

java线程虚假唤醒先看一段实例代码:public class MyStack { private List<String> list = new ArrayList<String>(); public synchronized void push(String value) { synchronized (this) { ...

2019-09-27 16:50:23 185

转载 IO的同步、异步、阻塞、非阻塞区分

什么是socket?  实际上socket是对TCP/IP协议的封装,它的出现只是使得程序员更方便地使用TCP/IP协议栈而已。socket本身并不是协议,它是应用层与TCP/IP协议族通信的中间软件抽象层,是一组调用接口(TCP/IP网络的API函数)。  socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write...

2019-09-26 14:34:56 163 1

原创 BIO、NIO

java io分为BIO和NIO及NIO升级版AIO,这里主要介绍BIO及NIO的网络socket简单示例首先区分概念(以下内容来自引用):区分同步或异步(synchronous/asynchronous)。简单来说,同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调用返回,才会进行下一步;而异步则相反,其他任务不需要等待当前调用返回,通常依靠事件、回调等机制来实...

2019-09-20 23:40:53 128

原创 idea启动spring-boot优雅退出

基本思路:保存spring boot启动生成上下文根据输入进行判断如果是“q”,即退出程序import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework...

2018-10-20 15:40:40 3653 1

原创 使用tomcat7-maven-plugin以https方式启动

第一步:生成keystore生成方式网上大多数地方都能找到,此处随便推荐一帖https://blog.csdn.net/gane_cheng/article/details/53001846第二步:配置tomcat maven插件对tomcat7-maven-plugin插件增加如下配置&lt;plugin&gt; &lt;groupId&gt;org.apache.t...

2018-08-29 21:37:38 1904

apache-tomcat-7.0.50-windows-x86.zip

apache tomcatweb服务器版本7.0.50使用于32位的操作系统

2015-01-26

空空如也

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

TA关注的人

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