自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

转载 重构改善既有代码的设计

本系列是用来记录《重构,改善既有代码的设计》这本书的读书笔记。方便自己查看,也方便大家查阅。 欲速则不达,欲达则欲速! 重构,绝对是写程序过程中最重要的事之一。在写程序之前我们不可能事先了解所有的需求,设计肯定会有考虑不周的地方,而且随着项目需求的修改,也有可能原来的设计已经被改的面目全非...

2019-08-28 16:45:00 296

转载 Spring实战 | 第二部分 Web中的Spring(第五章 构建Spring Web应用程序)

第五章 构建Spring Web应用程序 映射请求到Spring控制器 透明地绑定表单参数 校验表单提交 一、Spring MVC起步 1、跟踪spring MVC的请求 在请求离开浏览器时,会带有用户所请求内容的信息,至少会包含请求的URL。但是还可能带有其它...

2019-08-28 13:34:00 321

转载 Spring实战 | 第一部分 Spring的核心(第四章 面向切面的Spring)

第四章 面向切面编程 面向切面编程的基本原理 通过POJO创建切面 使用@AspectJ注解 为AspectJ切面注入依赖 AspectJ是一个面向切面的框架,它扩展了java语言。AspectJ定义了AOP语法,它有一个专门的编译器用来生成遵循java字节编码规范的...

2019-08-23 13:39:00 579

转载 Spring实战

本系列是用来记录《Spring实战》这本书的读书笔记。方便自己查看,也方便大家查阅。 欲速则不达,欲达则欲速! 看书时一定要细心的理解去看,不可追寻速度,要仔细品味,书是读给自己的,用来提升自我的,所以要细心理解,思考至上,学以致用。技术类的书籍大同小异,原理不变,所以用心读完一本技术的书...

2019-08-16 11:43:00 184

转载 Spring实战 | 第一部分 Spring的核心(第二章 装配bean,第三章 高级装配)

第二章 装配bean 声明bean 构造器注入和setter方法注入 装配bean 控制bean的创建和销毁 一、Spring配置的可选方案 主要的装配机制: 1、在xml中进行显式配置 2、在Java中进行显式配置 3、隐式的bean发现机制和自动装配 ...

2019-08-14 22:11:00 322

转载 Spring实战 | 第一部分 Spring的核心(第一章 Spring之旅)

Spring的bean容器 介绍Spring的核心模块 更为强大的Spring生态系统 Spring的新功能 一、简化java开发 为了降低Spring开发的复杂性,Spring采取了以下4钟关键策略: 基于POJO的轻量级和最小侵入性编程...

2019-08-12 16:33:00 730

转载 Spring实战 | 番外篇: 搭建Spring环境实现helloworld、Bean配置、Spring容器

一、IntelliJ IDEA搭建Spring环境,实现helloworld 二、spring简介 三、配置形式 四、bean的配置方式 五、IOC和DI 六、在Spring的IOC容器里配置bean 七、关于ApplicationContext的介绍 八、依...

2019-08-08 09:19:00 560

转载 一个小时学会jQuery<最通俗易懂的讲解>

最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美。 其结构明晰,高内聚、低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷、渐进增强)优雅的处理能力以及 Ajax 等方面周到而强大的定制功能无不令人惊叹。 另外,阅读...

2019-08-07 15:18:00 1594

转载 编写高质量代码:改善Java程序的151个建议(第10章:性能和效率,第11章:开源世界,第12章:思想为源___建议132~151)...

第10章:性能和效率 建议132:提升Java性能的基本方法 建议133:若非必要,不要克隆对象 建议134:推荐使用“望闻问切”的方式诊断性能 建议135:必须定义性能衡量标准 建议136:枪打出头鸟--解决首要系统性能问题 建议137:调整JVM参数以提高性能...

2019-08-06 23:26:00 236

转载 JAVA性能优化:35个小细节让你提升java代码的运行效率

代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。 代码优化也是一样,如果项目着眼于尽快无BUG上线,那么...

2019-08-05 23:14:00 293

转载 编写高质量代码:改善Java程序的151个建议(第9章:多线程和并发___建议125~131)

建议125:优先选择线程池 建议126:适时选择不同的线程池来实现 建议127:lock与synchronized是不一样的 建议128:预防线程死锁 建议129:适当设置阻塞队列的长度 建议130:使用CountDownLatch协调子线程 建议131:Cycl...

2019-08-02 16:48:00 213

转载 Java线程池原理及实现<最通俗易懂的讲解>

一、线程池简介 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理...

2019-08-02 15:01:00 202

转载 编写高质量代码:改善Java程序的151个建议(第9章:多线程和并发___建议118~124)

多线程技术可以更好地利用系统资源,减少用户的响应时间,提高系统的性能和效率,但同时也增加了系统的复杂性和运维难度,特别是在高并发、大压力、高可靠性的项目中。线程资源的同步、抢占、互斥都需要谨慎考虑,以避免产生性能损耗和线程死锁。 建议118:不推荐覆写start方法 建议119:...

2019-08-01 16:45:00 231

转载 编写高质量代码:改善Java程序的151个建议(第8章:异常___建议110~117)

不管人类的思维有多么缜密,也存在“智者千虑必有一失”的缺憾。无论计算机技术怎么发展,也不可能穷尽所有的场景,这个世界是不完美的,是有缺陷的,完美的世界只存在于理想中。 对于软件帝国的缔造者来说,程序也是不完美的,异常情况会随时出现,我们需要它为我们描述例外时间,需要它处理非预期的情景,需要...

2019-07-31 16:19:00 461

转载 编写高质量代码:改善Java程序的151个建议(第7章:泛型和反射___建议101~109)

我命由我不由天 --哪吒 建议101:注意Class类的特殊性 建议102:适时选择getDeclaredXXX和getXXX 建议103:反射访问属性或方法时Accessible设置为true 建议104:使用forName动态加载类文件 建议105:动态加载不适合数...

2019-07-31 10:48:00 183

转载 编写高质量代码:改善Java程序的151个建议(第7章:泛型和反射___建议93~100)

我们最大的弱点在于放弃。成功的必然之路就是不断的重来一次。 --达尔文 建议93:Java的泛型是可以擦除的 建议94:不能初始化泛型参数和数组 建议95:强制声明泛型的实际类型 建议96:不同的场景使用不同的泛型通配符 建议97:警惕泛型是不能协变和逆变的 建议9...

2019-07-26 13:46:00 228

转载 浅谈Java泛型<最通俗易懂的讲解>

一、概述 泛型在Java中有很重要的地位,在面相对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”。一提到参数,定义方法时有形参,调用方法时传递实参。 泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参...

2019-07-25 16:56:00 310

转载 浅谈lambda表达式<最通俗易懂的讲解>

Java8发布已经有一段时间了,这次发布的改动比较大,很多人将这次改动与Java5的升级相提并论。Java8其中一个很重要的新特性就是lambda表达式,允许我们将行为传到函数中。想想看,在Java8之前我们想要将行为传入函数,仅有的选择就是匿名内部类。Java8发布以后,lambda表达式...

2019-07-24 14:26:00 754

转载 浅谈java注解<最通俗易懂的讲解>

前言:Annotation中文释义注解之意。 Java注解用于为Java代码提供元数据。 元数据是指用来描述数据的数据,通俗一点,就是描述代码间关系,或者代码与其它资源(例如数据库表)之间内在联系的数据。在一些技术框架中,如Struts、hibernate就不知不觉用到了元数据。对于Str...

2019-07-24 10:19:00 617

转载 编写高质量代码:改善Java程序的151个建议(第6章:枚举和注解___建议83~92)

枚举和注解都是在Java1.5中引入的,枚举改变了常量的声明方式,注解耦合了数据和代码。 建议83:推荐使用枚举定义常量 建议84:使用构造函数协助描述枚举项 建议85:小心switch带来的空指针异常 建议86:在switch的default代码块中增加AssertEr...

2019-07-19 14:11:00 231

转载 浅谈Java队列Queue

队列Queue就是一个先进先出的数据结构,与List、Set同一级别,继承了Collection接口。 一、Queue的实现 1、阻塞队列(BlockingQueue) ① 插入:队列不满时可执行插入元素线程,直到队列满。 ② 移除:队列不为空都可移除,直到队列为空。 抛出异常:...

2019-07-19 11:28:00 416

转载 Java多线程之Executor框架<Callable、Future、Executor和ExecutorService>

引言 Executor框架是指JDK 1.5中引入的一系列并发库中与Executor相关的功能类,包括Executor、Executors、ExecutorService、Future、Callable等。 一、为什么要引入Executor框架? 1、如果使用new Thread(......

2019-07-19 09:53:00 756

转载 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议67~82)

有些东西,当你即将失去了的时候,你才懂得它的弥足珍贵,也许亡羊补牢,为时未晚! 建议67:不同的列表选择不同的遍历算法 建议68:频繁插入和删除时使用LinkedList 建议69:列表相等只关心元素数据 建议70:子列表只是原列表的一个视图 建议71:推荐使用subL...

2019-07-18 13:02:00 188

转载 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议60~66)

如果你浪费了自己的年龄,那是挺可悲的。因为你的青春只能持续一点儿时间——很短的一点儿时间。—— 王尔德 建议60:性能考虑,数组是首选 建议61:若有必要,使用变长数组 建议62:警惕数组的浅拷贝 建议63:在明确的场景下,为集合指定初始容量 建议64:多种最值算法,...

2019-07-17 16:33:00 184

转载 编写高质量代码:改善Java程序的151个建议(第4章:字符串___建议52~59)

生活不只眼前的苟且。还有读不懂的诗和到不了的远方。 --闫妮 建议52:推荐使用String直接赋值 建议53:注意方法中传递的参数要求 建议54:正确使用String、StringBuffer、StringBuilder 建议55:注意字符串的位置 建议56:自由选择...

2019-07-17 13:43:00 173

转载 编写高质量代码:改善Java程序的151个建议(第3章:类、对象及方法___建议31~51)

书读的多而不思考,你会觉得自己知道的很多。 书读的多而思考,你会觉得自己不懂的越来越多。 -----江疏影 在面向对象编程(Object-Oriented Programming, OOP)的世界里,类和对象是真实世界的描述工具,方法是行为和动作的展示形式,封装、继承、多态则是其多姿多彩...

2019-07-12 16:49:00 196

转载 编写高质量代码:改善Java程序的151个建议(第2章:基本类型___建议21~30)

不积跬步,无以至千里;不积小流,无以成江海。 --荀子《劝学篇》 建议21:用偶判断,不用奇判断 建议22:用证书类型处理货币 建议23:不要让类型默默转换 建议24:边界还是边界 建议25:不要让四舍五入亏了一方 建议26:提防包装类型的null值 建议27:...

2019-07-11 15:25:00 191

转载 编写高质量代码:改善Java程序的151个建议(第1章:Java开发中通用的方法和准则___建议14~20)...

作为一个由影视圈转行做Java的菜鸟来说,读书是很关键的,本系列是用来记录《编写高质量代码 改善java程序的151个建议》这本书的读书笔记。方便自己查看,也方便大家查阅。 建议14:使用序列化类的私有方法巧妙解决部分属性持久化问题 建议15:break万万不可忘 建议16:易...

2019-07-11 13:26:00 277

转载 编写高质量代码:改善Java程序的151个建议

本系列是用来记录《编写高质量代码 改善java程序的151个建议》这本书的读书笔记。方便自己查看,也方便大家查阅。 全书共12章,共有151条建议,其中1~3章针对java语法本身提出了51条建议;第4~9章重点针对JDK API的使用提出了80条建议;第10~12章针对程序的性能、开源的工...

2019-07-09 16:49:00 265

转载 编写高质量代码:改善Java程序的151个建议(第1章:Java开发中通用的方法和准则___建议1~13)...

作为一个由影视圈转行做Java的菜鸟来说,读书是很关键的,本系列是用来记录《编写高质量代码 改善java程序的151个建议》这本书的读书笔记。方便自己查看,也方便大家查阅。 建议1:不要在常量和变量中出现易混淆的字母 建议2:莫让常量蜕变成变量 建议3:三元操作符的类型务必一样...

2019-07-09 15:20:00 160

转载 web相关的一些基础概念!

一、jsp 有哪些内置对象?作用分别是什么? 1、request 客户端的请求信息:HTTP协议头信息、cookie、请求参数等。 2、response 用于服务端响应客户端请求,返回信息 3、pageContext 页面的上下文 4、session 客户端与服务端之间的会话 ...

2019-07-08 11:56:00 131

转载 死锁、活锁、饿死和阻塞的个人理解

以下个人理解,请各位前辈多多指教: 死锁: ① 互斥条件:指进程对所分配到的资源进行排它性使用,在一段时间内某资源只由一个进程占用,如果此时还有其他进程请求资源,则请求者只能等待,直至占有资源的进程被释放。 ② 请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源...

2019-07-05 14:37:00 578

转载 浅谈Java多线程<最通俗易懂的讲解>

一、浅谈Java多线程CAS原理 二、多线程锁的升级原理是什么? 三、synchronized 和 volatile 的区别是什么? 一、浅谈Java多线程CAS原理 (一)、锁 实现线程同步最直观的策略是加锁,如使用synchronizeed关键字进行加锁。 悲观...

2019-07-04 14:43:00 313

转载 浅谈Java守护线程

一、在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 1、Daemon的作用是为其他线程的运行提供便利服务,守护线程最典型的应用就是 GC (垃圾回收器),它就是一个很称职的守护者。 2、User和Daemon两者几乎没有区别,唯一的不同...

2019-07-04 09:54:00 271

转载 江疏影讲JVM

无意间看到了CSDN@王子越-Silvia的小仙女讲JVM,发现写的真的好,我也想写一个关于JVM系列的博文,敬请期待... https://blog.csdn.net/qsbbl/article/details/92790197 ...

2019-07-03 14:06:00 148

转载 Map、Set、List集合差别及联系详解

前言: 数组Array和集合的区别: 1、数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型) 2、JAVA集合可以存储和操作数目不固定的一组数据。 3、若程序时不知道究竟需要多少对象,需要在空间不足时自动扩增容量,则需要使用容器类库,array不适用。  注...

2019-07-03 11:39:00 402

转载 浅谈Java内部类

一、什么是Java内部类? 可以将一个类的定义放在另一个类的内部,这就是内部类。广义上我们将内部类分为四种:成员内部类、静态内部类、局部(方法)内部类、匿名内部类。 二、为什么用内部类? 使用内部类最新引人的原因是:每个内部类都能独立地继承一个接口的实现,所以无论外部类是否已经继承了某个...

2019-07-02 15:16:00 74

转载 浅谈Java中的装箱和拆箱

一、什么是装箱?什么是拆箱? 在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行: Integer i = new Integer(10); 而在从Java SE5开始就提供了自动装箱的特性,如果要生成一个数值为10的Integer对象,只需要这样就可以了...

2019-06-29 10:06:00 292

转载 Java中equals和==的区别

一、Java当中的数据类型和“==”的含义 1、基本数据类型:byte,short,char,int,long,float,double,boolean。他们之间的比较,应用双等号==,比较的是他们的值。 2、引用数据类型:当他们用双等号==比较的时候,比较的是它们在内存中的存放地址(确切...

2019-06-28 20:28:00 93

转载 浅谈Javac编译原理

一、javac是什么? 1、javac是一种编译器,能够将一种语言规范转化成另外一种语言规范 2、javac的任务就是将Java源代码转化成JVM能够识别的一种语言(Java字节码),这种字节码不是针对某种机器、某种平台的 二、javac编译器编译程序的步骤 1、词法分析 首先是读取...

2019-06-28 16:32:00 712

空空如也

空空如也

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

TA关注的人

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