自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (3)
  • 收藏
  • 关注

原创 2018年三月总结与四月展望

二月底离开浙江,辗转南昌到上海,时间过得很快,又是一个月。作为一个即将离校的毕业生,有时候真会迷茫,想记录点关于实习、学习以及生活上的点滴来反省自我、探索更好的学习方法、生活方式以更好地成长。就按照时间流来吧。三月总结3月1号—3月17号难能可贵的在校时间,很是羡慕学弟学妹们还能翘课,参加社团活动,在图书馆静静地看书,在健康小道谈谈恋爱的小时光,在他们眼里,毕业仿佛是个遥不可及的日...

2018-03-31 20:05:40 1490 2

原创 IDEA中添加Google CheckStyle 完美指南

所谓“一千个读者就有一千个哈姆雷特”,不同的程序员,有着截然不同的代码风格。譬如抛出使用空格键还是TAB键的问题,就足以让程序员演化成风格迥异的不同色系。但在真正的产品开发中,如何写出高质量、易维护、强可读的代码尤为重要,这就需要一个普遍认可的编码规范,今天就和大家一块学习如何在IDEA中添加Google CheckStyle来保证项目代码的和谐一致。一.在IntelliJ IDE...

2018-03-05 11:31:58 26449

原创 深入理解JVM——垃圾回收算法

一、标记—清除算法介绍 最基础的收集算法涉及“标记”和“清除”:首先标记所需回收的对象,一并清除。特征 效率不高空间问题:结束后产生大量不连续的内存碎片,导致后续分配大内存对象时不得不提前触发垃圾收集操作。 二、复制算法1.介绍内存均分成两块,但只使用其中一块,这块用完了就将还存在的对象复制到第二块中,一次性清除使用过的内存空间。无需考虑内存碎片问题2...

2018-03-05 09:48:35 246

原创 Code Style Guide之正交设计浅析

前提:模块化设计为什么需要模块化设计?理论上可以只使用一个函数完成全部功能,但是太过复杂,超过人的掌控极限。因此必须要划分开,对问题进行分解。(面向过程->面向对象)模块化设计遇到的两个问题如何划分模块?模块之间如何连接?软件设计为何要做软件设计?软件设计是为了让软件在长期范围内容易应对变化。即:尽量降低变化对软件的影响。否则维护成本太大。HOW?...

2018-03-04 21:22:31 472

原创 Coding Style Guide 之软件设计原则初探

软件设计原则面向接口编程,而不是面向实现。接口是稳定的,而实现是多样的。命令-查询分离原则: 当一个方法返回一个值来回应一个问题的时候,它就具有查询的性质;当一个方法要改变对象的状态的时候,它就具有命令的性质。查询不会改变对象的状态,命令会改变对象的状态,因此查询操作是安全的、性能好的。 举例:读写分离。You Ain’t Gonna Need It:意思是不要过度设计。过度设计会提...

2018-03-04 21:17:24 410

原创 Coding Style guide之如何写出优质代码

实习所在公司虽是一个小型创业公司,但是技术栈很新并且特别注重开发规范,每周都会有几次组织学习的机会。现将学习笔记记录如下,大家一块学习讨论~优质代码十个突破口DRY短小的方法(易阅读、易重用、易测试)。短小的标准:尽量控制在20行之内,嵌套层次不要太深,一屏可以全部显示,最好不要超过50行。命名 举例:int a;int avg;final int a = 7;fin...

2018-03-04 21:11:37 294

原创 在SSM下使用POI解析Excel数据并实现批量导入到数据库

暑假实习期间,作为一名Java后台开发的小白实习生,项目组老大分发给我的一项任务就是实现在SSM下实现Excel数据的导入/导出,咱总不能手动Ctrl+C/Ctrl+V实现吧hhh,于是经过查阅资料,发现Apache的一个子项目POI可以帮助解析Office文档并实现需求。分享如下:Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Of...

2018-03-04 20:58:21 3773 6

原创 Java8新特性——Lambda表达式应用场景

之前在学习Java8的新特性时,十分喜欢Lambda的简洁性,而真正地用以解决项目中的技术点时,更为之惊叹不已。现在有这样的需求:从由Project这个类组成的List中取出id和name组成对应的键值对。 有下面这样的实体类,简洁起见,将多余的字段和注解以及类的继承关系去除。import java.util.Date;/** * Created by Mollychin ...

2018-03-04 20:55:47 5031 1

原创 深入理解JVM——volatile in Java

第一次面试时,interviewer问“你对volatile了解多少?”由于interviewer的发音(英:[ˈvɒlətaɪl]))有些不准,笔者很傻地问了好几遍“您说什么?”,然后…直接GG了。volatile是JVM提供的最轻量级的同步机制,作为应届生面试中常见的关键字考察点,一块来学习下吧~Java内存模型volatile语义: 可见性禁止重排序无法保证一致性应用场景...

2018-03-03 10:50:57 632

原创 深入理解JVM——Java运行时数据区域浅析

JVM在运行时将其内存区域划分为不同的区域,各区域承担的职责和生命周期不尽相同,有的随着JVM进程的存在(消亡)而存在(消亡),而有些则是线程私有的,生命周期与其所在线程一致。和笔者一块学习一下吧~方法区(Method Area)Java堆(Heap)虚拟机栈(VM Stack)本地方法栈(Native Method Stack)程序计数器(PCR)方法区(别名:Non-H...

2018-03-02 10:49:55 251

Java 并发编程学习笔记

Java 并发编程学习笔记,适合Java学习者进行并发处理学习

2017-09-30

阿里巴巴Java开发手册

阿里巴巴 Java 开发手册

2017-09-30

23设计模式汇集

23种设计模式,供给广大开发者小伙伴参阅,一块成长,一块进步!

2017-09-30

空空如也

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

TA关注的人

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