java
文章平均质量分 70
荣兄2016
2018.6毕业,目前就职于杭州一家电商公司
展开
-
代码检查清单
代码是按照编码指南编写的吗?代码能够按照预期工作吗?文件是不是在合适的位置?支撑文档是不是充分?代码是不是易于阅读、易于理解?代码是不是易于测试和调试?有没有充分的测试,覆盖关键的逻辑和负面清单?名字是否遵守命名规范?名字是不是拼写正确、简单易懂?名字是不是有准确的意义?代码的分块是否恰当?代码的缩进是否清晰、整洁?有没有代码超出了每行字数的限制?代码的换行有没有引起混...原创 2019-11-30 15:09:46 · 383 阅读 · 0 评论 -
Java等待通知机制
等待 - 通知机制线程首先获 取互斥锁,当线程要求的条件不满足时,释放互斥锁,进入等待状态;当要求的条件满足时,通知等待的线程,重新获取互斥锁实现synchronized调用wait() 线程被阻塞 等待。进入互斥锁的等待队列调用 notify()/notifyAll() 通知锁定的是this 即 this.wait()考虑因素互斥锁线程要求的条件何时等待何...原创 2019-08-11 15:21:36 · 205 阅读 · 0 评论 -
java8常用代码片段
最近在新项目上有在用一些java8的语法,虽然java8已经出来了好几年。但是一直少有机会使用,因此接下去会不定期更新该博客,记录工作中常用的一些Java8代码1.合并两个list 为一个map /** * keys [1,2,3,2] values [10,20,30,40] ----> {1:10,2:60,3:30} **/ private static Map&l...原创 2019-04-15 22:06:17 · 401 阅读 · 0 评论 -
策略模式
#策略模式#最近项目中 if else用的太多 想着重构换一种更为优雅的方式,于是发现了设计模式中的策略模式就是避免if else 很好的一种办法,借此好好学习,仅以本博客记录学习的一些知识点,以便日后回顾。如有不对,欢迎指出。应用场景比如对于一个系统拥有不同类型的客户,针对不同类型的客户提供不同的服务。怎么来处理这一业务逻辑,废话不多说直接先亮出代码,本文代码参考其他一些其他博客。...原创 2018-09-29 21:40:46 · 309 阅读 · 0 评论 -
有赞 校招 面经
校招已经过去一年,在此挂出去年有赞校招面经,一轮卒 泪奔sychronized 加两个sychronize可以吗? 和可重入锁有什么区别?synchronized拥有强制原子性的内部锁机制在一个线程使用synchronized方法时调用该对象另一个synchronized方法,即一个线程得到一个对象锁后再次请求该对象锁,是永远可以拿到锁的volatileJava内存模...原创 2018-09-23 15:15:46 · 1106 阅读 · 0 评论 -
Java eclipse如何生成JavaDoc
如何使用eclipse生成javaDoc生成package-info.java 新建包的时候勾选左下方的框框 将对文档的描述写入此文件中,具体的注解等尚未深究右键选择项目Export,选择javadocjavadoc commond,选择路径为 jdk/bin/javadoc.exedestintion 选择导出的位置 由自己选择最后一步 在vm options中写入防止gbk编码...原创 2018-09-12 21:21:39 · 281 阅读 · 0 评论 -
Java LinkedList源码
LinkedList源码解读实现了List,Deque,Cloneable,Serialzable接口特点 插入删除高效,查找比较慢线程不安全构造方法transient int size = 0;// 链表长度transient Node<E> first;// 头节点transient Node<E> last; 尾节点# 可以看出这是一...原创 2018-09-06 20:41:40 · 169 阅读 · 0 评论 -
Java ArrayList 源码解读
ArrayList 源码解读数据结构 底层通过数组实现 可以称为 动态数组构造函数// 初始化为空,transient Object[] elementData;public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; }public ArrayList(i...原创 2018-09-02 16:23:14 · 298 阅读 · 0 评论 -
Java HashMap源码解读
Java HashMap源码解读目前网上关于jdk hashmap源码解读的文章已经有很多,而写该博客的主要是为了记录自己对于源码学习过程,期间参考了许多其他优秀博客的理分析思路先整体后细节先简单后复杂实现结构extends AbstractMap<K,V> implements Map<K,V>, Cloneable, S...原创 2018-09-01 14:23:55 · 147 阅读 · 0 评论 -
Java ThreadLocal 源码解读
ThreadLocal 源码解读之前对于ThreadLocal的用法和原理都没有深入的理解,因此准备学习一番有关于ThreadLocal的知识。ThreadLocal是什么?它为线程提供了线程本地的变量,每个线程都保存有一个变量副本,使得同一个线程在任何时刻访问它的时候都是一致的。它的生命周期跟线程绑定在一起,线程结束生命周期,该变量副本也会被GC。简单说 threadloc...原创 2018-09-01 09:21:12 · 161 阅读 · 0 评论 -
java内存模型
java内存模型1.java内存模型基础内存模型 JMM 线程之间通信方式主要有 共享内存 java 隐式进行 内存可见性问题消息传递线程之间的共享变量存储在主内存中,每个线程对应一个私有的本地变量为共享变量的副本 两个线程A B之间如果要通信那么需要以下几步 A线程改变本地共享变量副本更新到主内存B线程读取到主内存中A线程更新的变量 本地之前的变量失效必须通过主内存...原创 2018-08-26 15:12:27 · 108 阅读 · 0 评论 -
浅谈自己对于spring aop的理解
开始学习spring就被重点的关注ioc和aop这两个关键的部分,今天着重了解下关于aop的一些实现和原理。 aop 面向切面编程 即可以在业务逻辑前后加上需要的无关业务的处理如日志,权限控制等操作,与实际的业务相分离。首先需要介绍的技术就是AspectJ 了解了这个之后会对spring的aop实现有对比显示出两者的差异。aspectJ是一个由java实现的aop框架,通过对编译期的代码进行...原创 2018-07-28 15:01:26 · 1748 阅读 · 0 评论 -
JDK-Integer源码解读
通过类的定义可以看出 public final class Integer extends Number implements Comparable 不能被继承实现Comparable接口,用compareTo进行比较并且Integer对象只能和Integer类型的对象进行比较,不能和其他类型比较继承了Number类,所以该类可以调用longValue、floatValue、doubleV原创 2018-01-06 15:03:18 · 150 阅读 · 0 评论 -
LinkedList源码详解
likedList简介原创 2017-09-23 09:48:31 · 152 阅读 · 0 评论 -
ArrayList源码分析
ArrayList简介原创 2017-09-23 09:47:20 · 147 阅读 · 0 评论 -
LintCode之栅栏染色
我们有一个栅栏,它有n个柱子,现在要给柱子染色,有k种颜色可以染。 必须保证任意两个相邻的柱子颜色不同,求有多少种染色方案。注意事项n和k都是非负整数原创 2017-03-04 22:11:42 · 511 阅读 · 0 评论 -
利用session事项用户登录
//登录界面 login.html --> 用户名: 密码: //登录servletpackage com.login;import java.io.IOException;import java.io.PrintWriter;impor原创 2016-06-25 13:13:44 · 793 阅读 · 0 评论