02 2017 档案

摘要:设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的, 阅读全文
posted @ 2017-02-20 21:48 空谷幽澜 阅读(793) 评论(1) 推荐(0) 编辑
摘要:Java反射机制的作用: 1)在运行时判断任意一个对象所属的类。 2)在运行时判断任意一个类所具有的成员变量和方法。 3)在运行时任意调用一个对象的方法 4)在运行时构造任意一个类的对象 拓展: 1、什么是反射机制? 简单说,反射机制值得是程序在运行时能够获取自身的信息。在java中,只要给定类的名 阅读全文
posted @ 2017-02-19 22:54 空谷幽澜 阅读(584) 评论(0) 推荐(2) 编辑
摘要:转自一个微信公众号。对于java学习新人不知道该学啥,可以看一下,里边包含的内容基本上都在校招面试的范围内。面试的时候会根据你做的项目进行相应领域的提问,比如你做的项目跟数据库有关,可能数据库方面就问的多一些,用spring框架多一些,spring框架问的就多一些,所以自己做的那个领域尽量往深了学。 阅读全文
posted @ 2017-02-19 12:40 空谷幽澜 阅读(887) 评论(0) 推荐(1) 编辑
摘要:1、Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上SpringMVC就容易实现restful url,而struts2的架构实现起来要费劲,因为Struts 阅读全文
posted @ 2017-02-19 12:14 空谷幽澜 阅读(32149) 评论(0) 推荐(2) 编辑
摘要:无论多复杂,hibernate终究是一个和数据库打交道的框架,与jdbc功能一样。所以没有理由畏惧hibernate. hibernate的难点我觉得有两方面:一是性能优化,二是session管理。性能优化是个经验活; 关于session管理,单纯的hibernate可以使用ThreadLocal来 阅读全文
posted @ 2017-02-19 12:05 空谷幽澜 阅读(15132) 评论(0) 推荐(1) 编辑
摘要:在Java J2EE方面进行面试时,常被问起的Hibernate面试问题,大多都是针对基于Web的企业级应用开发者的角色的。Hibernate框架在Java界的成功和高度的可接受性使得它成为了Java技术栈中最受欢迎的对象关系影射(ORM)解决方案。Hibernate将你从数据库相关的编码中解脱了出 阅读全文
posted @ 2017-02-19 11:59 空谷幽澜 阅读(3620) 评论(0) 推荐(0) 编辑
摘要:Mybatis技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用Mybatis的文章,所以,一些参数使用细节略掉了,我们的目标是介绍Mybatis的技术架构和重要组成部分,以及基本运行原理。 博客写的很辛苦,但是写出来却不一定好看, 阅读全文
posted @ 2017-02-19 11:49 空谷幽澜 阅读(200935) 评论(15) 推荐(35) 编辑
摘要:1、Mybatis基础: #{...} 和 ${...} 的区别MyBatis将 #{…} 解释为JDBC prepared statement 的一个参数标记。而将 ${…} 解释为字符串替换。理解这两者的区别是很有用的, 因为在某些SQL语句中并不能使用参数标记(parameter marker 阅读全文
posted @ 2017-02-19 11:29 空谷幽澜 阅读(7742) 评论(0) 推荐(1) 编辑
摘要:1.Mybatis比IBatis比较大的几个改进是什么 a.有接口绑定,包括注解绑定sql和xml绑定Sql , b.动态sql由原来的节点配置变成OGNL表达式, c. 在一对一,一对多的时候引进了association,在一对多的时候引入了collection 节点,不过都是在resultMap 阅读全文
posted @ 2017-02-19 11:26 空谷幽澜 阅读(13178) 评论(1) 推荐(1) 编辑
摘要:这篇文章总结了一些关于Spring框架的重要问题,这些问题都是你在面试或笔试过程中可能会被问到的。下次你再也不用担心你的面试了,Java Code Geeks这就帮你解答。 大多数你可能被问到的问题都列举在下面的列表中了。所有的核心模块,从基础的Spring功能(如Spring Beans)到上层的 阅读全文
posted @ 2017-02-19 11:13 空谷幽澜 阅读(8059) 评论(1) 推荐(1) 编辑
摘要:Velocity是一个基于Java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点 阅读全文
posted @ 2017-02-18 12:02 空谷幽澜 阅读(448) 评论(0) 推荐(0) 编辑
摘要:HashMap 是否是线程安全的,如何在线程安全的前提下使用 HashMap,其实也就是HashMap,Hashtable,ConcurrentHashMap 和 synchronized Map 的原理和区别。当时有些紧张只是简单说了下HashMap不是线程安全的;Hashtable 线程安全,但 阅读全文
posted @ 2017-02-17 22:07 空谷幽澜 阅读(5609) 评论(3) 推荐(2) 编辑
摘要:前面文章提到Collections.synchronizedMap()与ConcurrentHashM两者都提供了线程同步的功能。那两者的区别在哪呢?我们们先来看到代码例子。 下面代码实现一个线程对map进行写操作,另一个线程,读出并打印map数据。 [java] view plain copy p 阅读全文
posted @ 2017-02-17 22:01 空谷幽澜 阅读(708) 评论(0) 推荐(0) 编辑
摘要:两个对象值相同(x.equals(y) == true),则一定有相同的hash code; 这是java语言的定义: 因为:Hash,一般翻译做“散列”,也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种 阅读全文
posted @ 2017-02-17 20:13 空谷幽澜 阅读(453) 评论(2) 推荐(0) 编辑
摘要:1. Java中的泛型是什么 ? 使用泛型的好处是什么? 这是在各种Java泛型面试中,一开场你就会被问到的问题中的一个,主要集中在初级和中级面试中。那些拥有Java1.4或更早版本的开发背景的人 都知道,在集合中存储对象并在使用前进行类型转换是多么的不方便。泛型防止了那种情况的发生。它提供了编译期 阅读全文
posted @ 2017-02-17 18:31 空谷幽澜 阅读(12532) 评论(2) 推荐(2) 编辑
摘要:什么是自动装箱拆箱 什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能。 一般我们要创建一个类的对象实例的时候,我们会这样: Class a = new Class(parameter); 当我们创建一个Integer对象时 阅读全文
posted @ 2017-02-16 10:34 空谷幽澜 阅读(447) 评论(0) 推荐(0) 编辑
摘要:ThreadLocal是解决线程安全问题一个很好的思路,ThreadLocal类中有一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值对应线程的变量副本,由于Key值不可重复,每一个“线程对象”对应线程的“变量副本”,而到达了线程安全。 我们知道Spring通过各种DAO模板 阅读全文
posted @ 2017-02-15 15:55 空谷幽澜 阅读(259) 评论(0) 推荐(0) 编辑
摘要:当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成数据的不一致。 要解决这个问题,只需要像在本程序中的这样,把该变量声明为volatile( 阅读全文
posted @ 2017-02-15 15:47 空谷幽澜 阅读(307) 评论(0) 推荐(0) 编辑
摘要:虽然我们不希望发生冲突,但实际上发生冲突的可能性仍是存在的。当关键字值域远大于哈希表的长度,而且事先并不知道关键字的具体取值时。冲突就难免会发 生。另外,当关键字的实际取值大于哈希表的长度时,而且表中已装满了记录,如果插入一个新记录,不仅发生冲突,而且还会发生溢出。因此,处理冲突和溢出是 哈希技术中 阅读全文
posted @ 2017-02-15 15:45 空谷幽澜 阅读(768) 评论(0) 推荐(0) 编辑
摘要:1. 在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 tomcat 的 to 按 tab)。2. ps 命令用于查看当前正在运行的进程。grep 是搜索例如: ps -ef | grep java表示查 阅读全文
posted @ 2017-02-14 11:14 空谷幽澜 阅读(1272) 评论(0) 推荐(0) 编辑
摘要:1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql中 阅读全文
posted @ 2017-02-14 11:04 空谷幽澜 阅读(190) 评论(0) 推荐(0) 编辑