- 博客(32)
- 资源 (28)
- 收藏
- 关注
转载 详细介绍Java垃圾回收机制
垃圾收集GC(Garbage Collection)是Java语言的核心技术之一,之前我们曾专门探讨过Java 7新增的垃圾回收器G1的新特性,但在JVM的内部运行机制上看,Java的垃圾回收原理与机制并未改变。垃圾收集的目的在于清除不再使用的对象。GC通过确定对象是否被活动对象引用来确定是否收集该对象。GC首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。引用计
2015-03-30 19:38:00 554
转载 Java HashMap实现详解
原文地址:http://beyond99.blog.51cto.com/1469451/429789/1. HashMap概述: HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 2. HashMap的数据结构:
2015-03-30 19:01:31 360
转载 java多线程例子
目录(?)[-]线程的互斥控制synchornized关键字synchornized方法为什么真正的应用都是用while条件而不用if条件notifynotifyAll方法 这里我们做一个完整的例子来说明线程产生的方式不同而生成的线程的区别:package debug;import java.io.*;import java.lang.Thread;class
2015-03-30 15:24:40 376
转载 用 new 关键字对一个String 变量赋值和直接赋值有什么不同
String str1="ABC"; 和String str2 = new String("ABC"); 有什么区别。 String str1="ABC" 可能创建一个对象或者不创建对象,如果"ABC"这个字符串在java String池里不存在,会在java String池创建这个一个String对象("ABC").如果已经存在,str1直接reference to 这个String池里
2015-03-30 13:27:22 1648
转载 Java中 HashSet与HasnMap区别和方法
HashSet与HasnMap区别和方法区别:1. HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的,只不过Set用的只是Map的key 2. Map的key和Set都有一个共同的特性就是集合的唯一性.TreeMap更是多了一个排序的功能.3. hashCode和equal()是HashMap用的, 因为无需排序所以只需要关注定位和
2015-03-30 13:25:36 825
转载 Java Thread类的yield()和join()的区别和用法
yield:解释它之前,先简述下,多线程的执行流程:多个线程并发请求执行时,由cpu决定优先执行哪一个,即使通过thread.setPriority(),设置了线程的优先级,也不一定就是每次都先执行它yield,表示暂停当前线程,执行其他线程(包括自身线程) 由cpu决定[java] view plaincopy
2015-03-29 20:50:03 1149
转载 Java常见面试题
1. Java中sleep和wait的区别① 这两个方法来自不同的类分别是,sleep来自Thread类,和wait来自Object类。sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep。② 锁: 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以
2015-03-29 20:33:11 464
转载 Spring AOP 的实现原理----动态代理
原文链接:http://www.blogjava.net/DoubleJ/archive/2008/03/04/183796.html好长时间没有用过Spring了. 突然拿起书.我都发现自己对AOP都不熟悉了.其实AOP的意思就是面向切面编程.OO注重的是我们解决问题的方法(封装成Method),而AOP注重的是许多解决解决问题的方法中的共同点,是对OO思想的一种补充!还
2015-03-29 20:19:00 597
转载 Java反射机制详解
原文链接:http://blog.csdn.net/yongjian1092/article/details/7364451首先,我们在开始前提出一个问题:1.在运行时,对于一个java类,能否知道属性和方法;能否去调用它的任意方法? 答案是肯定的。本节所有目录如下:什么是JAVA的反射机制JDK中提供的Reflection APIJ
2015-03-29 19:08:16 327
转载 spring mvc DispatcherServlet详解之interceptor和filter的区别
首先我们看一下spring mvc Interceptor的功能及实现:http://wenku.baidu.com/link?url=Mw3GaUhCRMhUFjU8iIDhObQpDcbmmRy_IPeumazg0ppnbmwqFUtLp9kSpuPPpeysf6EnHBLYFeWrbjqMq8BlWKQz_7MSDhGQTVl32fpxCMmSpringMVC 中
2015-03-29 18:38:02 924
转载 struts2中的 ThreadLocal模式
设计模式(Design pattern)是经过程序员反复实践后形成的一套代码设计经验的总结。设计模式随着编程语言的发展,也由最初的“编程惯例”逐步发展成为被反复使用、并为绝大多数程序员所知晓的、完善的理论体系。我们使用设计模式(Design pattern)的初衷,是使代码的重用度提高、让代码能够更容易被别人理解以及保证代码的可靠性。毫无疑问,在程序中使用设计模式无论是对于程序员自身还是对于应用程
2015-03-29 18:11:30 449
转载 SpringMVC与struts2比较
第一篇 1:spring3开发效率高于struts 2:spring3 mvc可以认为已经100%零配置 3:struts2是类级别的拦截, 一个类对应一个request上下文,springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应所以说从架构本身上 spring3 mvc就容易实现restful url 而struts2
2015-03-29 12:41:28 454
转载 Struts2与Servlet的关系
在struts2.0中,可以通过ServletActionContext.getRequest()获取request对象。 在action的方法中return一个字符串,该字符串对应struts.xml中的result标签的name相同,result标签中包含的就是跳转页面,其原理,我的理解是这样的: 一.客户端提起一个(HttpServletRequest)请求,如上文在浏览器中输入
2015-03-29 11:07:34 1580
转载 Servlet非线程安全
Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的安全性问题。然而,很多人编写Servlet/JSP程序时并没有注意到多线程安全性的问题,这往往造成编写的程序在少量用户访问时没有任何问题,而在并发用户上升到一定值时,就会经常出现一些莫明其妙的问题。 S
2015-03-29 10:54:10 528
原创 python不支持的类型
char 或 byte Python 没有 char 或 byte 类型来保存单一字符或 8 比特整数。你可以使用长度为 1 的字符串表示字符或 8 比特整数。 指针 Python 替你管理内存,因此没有必要访问指针。在 Python 中你可以使用 id()函数得到一个对象的身份号, 这是最接近于指针的地址。因为你不能控制这个值,所以其实没有太大意义。其实在 Pyth
2015-03-25 20:50:42 6619
原创 Python 类型运算符和类型工厂函数总结
str()和 repr() (及 `` 运算符) 内建函数 str() 和 repr() 或反引号运算符(``) 可以方便的以字符串的方式获取对象的内容、类型、数值属性等信息。str()函数得到的字符串可读性好, 而 repr()函数得到的字符串通常可以用来重新获得该对象, 通常情况下 obj == eval(repr(obj)) 这个等式是成立的。这两个函数接受一个对象做为其参数
2015-03-25 20:05:26 855
原创 python入门学习(二)
1.比较两个对象def compare(a,b)if a is b:#a和b是同一个对象if a == b:#a和b值相同if type(a) is type(b):#a和b具有相同类型2.判断对象类型if type(s) is list:s.append(item)if type(d) is dict:d.update(t)
2015-03-25 18:38:38 578
原创 python关于_name_='_main_'
主程序调用 main()函数 主程序代码通常都和你前面看到的代码相似,检查 __name__ 变量的值然后再执行相应的调用。主程序中的代码通常包括变量赋值, 类定义和函数定义,随后检查__name__来决定是否调用另一个函数(通常调用 main()函数)来完成该模块的功能。主程序通常都是做这些事。(我们上面的例子中使用 test()而不是main()是为了避免你在读
2015-03-25 17:01:34 654
原创 python生成器yield
1.认识生成器直接上代码:def countingdown(n): print 'counting down!' while n > 0: yield n n-=1for i in countingdown(5): print i输出:任何使用yield的函数都称为生成器。调用生成器函数将创建一个对象,该对象通过连续调用next()方法生成结果序
2015-03-25 16:27:11 560
原创 python读写read(),readline,readlines
1.read()每次读取整个文件,通常用于将一个文件内容放到一个字符串中。但是当文件内容过大时,则不可行,并且当按行读取文件时也不适合。2.readline()每次读取一行,占用内存小,适合读大文件。#coding:utf-8#python2.7f = open('1.txt','r')result = list()for line in f: line = f.read
2015-03-25 16:04:17 1109
原创 python入门学习笔记
准备:1.先稍微了解一下python这门语言的特点吧.2.搭建环境。下载python,安装,配置环境变量。打开cmd,输入python,出现交互窗口。退出交互窗口,使用quit()。3.运行方式。cmd切换到.py文件所在目录,输入python test.py,即可运行。4.帮助文档。切换到python的Doc目录下,利用反编译命令,反编译pythonchm,然后将此Doc目录加入
2015-03-25 15:23:10 636
转载 Mybatis深入浅出系列原文地址
http://www.cnblogs.com/dongying/tag/Mybatis%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BA%E7%B3%BB%E5%88%97/
2015-03-19 19:10:57 511
转载 深入浅出Mybatis系列(九)---强大的动态SQL
上篇文章《深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap》简单介绍了mybatis的查询,至此,CRUD都已讲完。本文将介绍mybatis强大的动态SQL。那么,问题来了: 什么是动态SQL? 动态SQL有什么作用? 传统的使用JDBC的方法,相信大家在组合复杂的的SQL语句的时候,需要去拼接,稍不注意哪怕少了个空格,都会导致错误
2015-03-19 19:09:18 770 1
转载 深入浅出Mybatis系列(十)---SQL执行流程分析(源码篇)
最近太忙了,一直没时间继续更新博客,今天忙里偷闲继续我的Mybatis学习之旅。在前九篇中,介绍了mybatis的配置以及使用, 那么本篇将走进mybatis的源码,分析mybatis 的执行流程, 好啦,鄙人不喜欢口水话,还是直接上干活吧:1. SqlSessionFactory 与 SqlSession. 通过前面的章节对于mybatis 的介绍及使用,大家都能体会到SqlS
2015-03-19 19:08:45 713
转载 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap
上篇《深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete》介绍了insert、update、delete的用法,本篇将介绍select、resultMap的用法。select无疑是我们最常用,也是最复杂的,mybatis通过resultMap能帮助我们很好地进行高级映射。下面就开始看看select 以及 resultMap的用法:先
2015-03-19 19:06:54 879 1
转载 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete
上篇文章《深入浅出Mybatis系列(六)---objectFactory、plugins、mappers简介与配置》简单地给mybatis的配置画上了一个句号。那么从本篇文章开始,将会介绍mapper映射文件的配置, 这是mybatis的核心之一,一定要学好。在mapper文件中,以mapper作为根节点,其下面可以配置的元素节点有: select, insert, update, dele
2015-03-19 19:03:56 1762 1
转载 深入浅出Mybatis系列(六)---objectFactory、plugins、mappers简介与配置
上篇文章《深入浅出Mybatis系列(五)---TypeHandler简介及配置(mybatis源码篇)》简单看了一下TypeHandler, 本次将结束对于mybatis的配置文件的学习, 本次涉及到剩下没提及到的几个节点的配置:objectFactory、databaseIdProvider、plugins、mappers。那么,接下来,就简单介绍一下这几个配置的作用吧:1
2015-03-19 19:02:44 633
转载 深入浅出Mybatis系列(五)---TypeHandler简介及配置(mybatis源码篇)
上篇文章《深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)》为大家介绍了mybatis中别名的使用,以及其源码。本篇将为大家介绍TypeHandler, 并简单分析其源码。Mybatis中的TypeHandler是什么? 无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中
2015-03-19 19:00:11 1026
转载 深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)
上篇文章《深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)》我们通过对mybatis源码的简单分析,可看出,在mybatis配置文件中,在configuration根节点下面,可配置properties、typeAliases、plugins、objectFactory、objectWrapperFactory、settings、environments、databaseId
2015-03-19 18:59:39 491
转载 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
上篇文章《深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)》 介绍了properties与environments, 本篇继续讲剩下的配置节点之一:typeAliases。 typeAliases节点主要用来设置别名,其实这是挺好用的一个功能, 通过配置别名,我们不用再指定完整的包名,并且还能取别名。 例如: 我们
2015-03-19 18:59:08 704
转载 深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)
上篇文章《深入浅出Mybatis系列(一)---Mybatis入门》, 写了一个Demo简单体现了一下Mybatis的流程。本次,将简单介绍一下Mybatis的配置文件:上次例子中,我们以 SqlSessionFactoryBuilder 去创建 SqlSessionFactory, 那么,我们就先从SqlSessionFactoryBuilder入手, 咱们先看看源码是怎么实现的:
2015-03-19 18:57:46 523
转载 深入浅出Mybatis系列(一)---Mybatis入门
最近两年 springmvc + mybatis 的在这种搭配还是蛮火的,楼主我呢,也从来没真正去接触过mybatis, 趁近日得闲, 就去学习一下mybatis吧。 本次拟根据自己的学习进度,做一次关于mybatis 的一系列教程, 记录自己的学习历程, 同时也给还没接触过mybatis的朋友探一次道。本系列教程拟 由浅(使用)入深(分析mybatis源码实现),故可能需要好长几天才能更新完。好
2015-03-19 18:54:04 543
深入理解java虚拟机
2015-09-16
JavaScript权威指南(第6版)中文高清版
2015-09-15
最新spring-data-mongo
2014-11-24
google-gson-2.2.2-release
2014-08-21
Android 记住密码和自动登录界面的实现(SharedPreferences 的用法)
2014-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人