- 博客(23)
- 收藏
- 关注
原创 后端架构师技术图谱
《后端架构师技术图谱》推荐: 《Java技术书籍大全》 - awesome-java-books从初级开发者到资深架构师,看这些书就够了数据结构队列集合链表、数组字典、关联数组栈树二叉树完全二叉树平衡二叉树二叉查找树(BST)红黑树B,B+,B*树LSM 树BitSet常用算法排序、查找算法选择排序冒泡排序插入排序快速排序...
2020-01-10 14:11:31
936
原创 从仓库解析依赖的机制
底层实现方式(两种类型版本共用):读取远程仓库的maven-metadata.xml文件,将其和本地仓库的maven-metadata.xml文件合并后,得到最新版本得快照值,然后基于该值去本地仓库或者是远程仓库获取。1.若为快照版本:如果A依赖B得快照版本,会根据B deploy到私服得最近timestamp下载最新的jar,默认Maven每天更新一次,如果你想让Maven强制更新,可以...
2019-04-22 20:06:48
222
转载 JSP转化成servelt的原理
JSP是Servlet的扩展,在没有JSP之前,就已经出现了Servlet技术。Servlet是利用输出流动态生成HTML页面,包括每一个HTML标签和每个在HTML页面中出现的内容。由于包括大量的HTML标签、大量的静态文本及格式等,导致Servlet的开发效率极为低下。所有的表现逻辑,包括布局、色彩及图像等,都必须耦合在Java代码中,这的确让人不胜其烦。JSP的出现弥补了这种不足,JSP通过...
2019-03-31 15:36:30
244
转载 spring中beanFactory与factoryBean得区别
https://www.cnblogs.com/aspirant/p/9082858.html
2019-03-25 20:18:30
127
原创 spring中得几种Bean注入方式得区别
@Autowired和@Inject默认 autowired by type可以 通过@Qualifier 显式指定 autowired by qualifier name。如果 autowired by type 失败(找不到或者找到多个实现),则退化为autowired by field name@Resource默认 autowired by field name如果 au...
2019-03-25 19:57:36
1030
原创 JAVA与线程
实现线程得三种方式:1.使用内核线程内核线程(Kernel_Level Thread KLT)就是直接由操作系统内核支持得线程,这种线程由操作系统内核来完成线程切换,内核通过操纵调度器scheduler对线程进行调度,并负责将线程得任务映射到 各个处理器上。每个内核线程可以视为内核得一个分身。程序一般不会直接去使用内核线程,而是去使用内核线程得一种高级接口-------轻量级进程 (Ligh...
2019-03-17 22:48:33
125
转载 Linux上装docker
https://blog.youkuaiyun.com/qq_36892341/article/details/73918672
2019-03-10 19:48:36
137
转载 两个有序数组合并成一个有序数组 要求时间复杂度为O(n)
/***//*@author jueying:@version 创建时间:2018-10-22 下午01:32:44类说明//*@author jueying*/public class Test4 {/* * 把两个有序数组合并成一个有序数组,实现算法的复杂度为n * * 同理如果想要数组中的元素只移动一次,原理和字符串中空格代替是一个思想,采用从后面开始复...
2019-03-08 14:15:16
2369
原创 JAVA内存模型与线程
JAVA内存模型JAVA虚拟机规范中试图定义一种JAVA内存模型(JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让JAVA程序在各种平台下都能达到一致的内存访问效果。JAVA内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。如图:volatile关键字1.当一个线程对volatile修饰的变量修改了之后,新值是对其...
2019-03-03 23:49:38
131
原创 虚拟机得类加载过程
引言在JAVA语言里面,类型得加载,连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类加载时稍微增加一些性能开销,但是给JAVA应用程序提供了高度的灵活性。比如 在面向接口编程,运行时我才知道我具体采用哪个实现类去加载 (JAVA反射)。比如 在运行时从网络或者其他地方加载一个二进制流作为代码的一部分。类加载过程分为三个阶段:一 加载这一阶段通过类加载器进行1.从各个地方...
2019-03-02 18:32:58
278
原创 垃圾收集器与内存分配策略篇
背景:GC对对象进行回收前会判定对象是否存活。如何判断对象是否存活得算法?1.引用计数算法有一个地方引用对象时候,计数器就加1,当一个引用失效时,计数器就减一。直到计数器为0时就判定对象不可能再被使用了。缺点:很难解决对象之间得相互引用问题。2.可达性分析算法通过GC Roots得对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引...
2019-03-02 16:54:30
153
转载 关于spring定时任务时间配置
https://blog.youkuaiyun.com/jiaonizuoren/article/details/83061630转载
2019-02-21 14:22:49
4004
原创 关于.bash_profile 与.bashrc的区别
查看/home/.bash_profile 查看环境变量脚本 根据特定的用户启动特定的环境变量脚本
2019-01-10 17:07:58
202
原创 通俗的说一下关于事务的隔离级别的问题
在说数据库的隔离级别之前说下什么是脏读,幻读,不可重复读1.脏读就是自己读了别人事务做出了修改但没有提交的内容(脏数据) 所以造成了脏读。从数据库底层理解就是:A读取了B在操作数据后还没提交到数据库的数据。用最通俗的话就是别人恐吓说要杀你儿子但是还没有杀 但是你确认为别人已经杀了。2.幻读就是比方说自己读了主信息表的若干行获取了结果集,然后去搞别的事了,回来的时候再看了一遍的时候发现...
2018-12-23 17:04:25
335
原创 记录一下今天 写了一个TreeSet实现了日期去重以及排序
Set<String> monthset =new TreeSet<String>(new Comparator<String>(){ public int compare(String s1, String s2) { SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM"); ...
2018-09-17 20:03:39
671
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人