- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 JVM体系架构---学习笔记
JVM的架构基本由4个部分组成:1.类加载器:在JVM启动时或者在类运行时将需要的class加载到JVM中2.执行引擎:执行引擎的任务是负责执行CLASS文件中包含的字节码指令,相当于CPU3.内存区:将内存划分为若干个区以模拟实际机器上的存储,记录和调度功能模块,4.本地方法调用:调用C或C++实现的本地方法 的代码返回结果JVM为何基
2015-09-16 15:00:33
484
原创 javac 编译器原理
Javac 是什么javac 是一种编译器,能讲一种语言规范转化成另外一种语言规范。如C,C++都是将源码直接编译成目标机器码,这个目标机器码是CPU直接执行的指令集合。这些指令集合也就是底层的一种语言规范,机器能够直接识别这种语言规范,但是人不可能直接去写目标机器码。从某种意义来说,有了编译器才有了程序语言的繁荣,因为编译器是人类和机器沟通的一个纽带。javac 的编译器也是
2015-08-28 17:18:38
1549
原创 Callable 获取线程返回值
allable与 Future 两功能是Java在后续版本中为了适应多并法才加入的,Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其他线程执行的任务。Callable的接口定义如下;public interface Callable { V call() throws Exception;
2015-06-12 11:10:19
1327
原创 实现简答LinkedList
package com.表栈和队列;import java.util.Iterator;/** * 实现LinkedList * 60页 * @author zj * * @param */public class MyLinkedList implements Iterable{private int theSize; //集合大小p
2015-06-04 17:02:34
504
原创 实现简单arrayList
/** * 实现arrayList * 53页 * @author zj * * @param */public class MyArrayList implements Iterable {private static final int DEFAULT_CAPACITY = 10;/** 大小及数组作为数据成员进行存储*/privat
2015-06-04 17:00:18
610
原创 jsonp
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。jsoup Cookbook(中文版) http://www.open-open.com/jsoup/从一个URL加载一个Document解决方法
2015-05-26 14:28:35
583
原创 x.509证书
X.509是一种非常通用的证书格式。所有的证书都符合ITU-T X.509国际标准;因此(理论上)为一种应用创建的证书可以用于任何其他符合X.509标准的应用。在一份证书中,必须证明公钥及其所有者的姓名是一致的。对X.509证书来说,认证者总是CA或由CA指定的人,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息。X.509标准定义了证书中应该包含哪些信息,并描
2015-05-20 13:02:11
1056
原创 RSA算法原理1
必备数学知识 RSA加密算法中,只用到素数、互质数、指数运算、模运算等几个简单的数学知识。所以,我们也需要了解这几个概念即可。素数 素数又称质数,指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。这个概念,我们在上初中,甚至小学的时候都学过了,这里就不再过多解释了。互质数 百度百科上的解释是:公因数只有1的两个数,叫做互质数。;
2015-05-15 10:38:22
726
原创 java十进制转二进制
例如: 5的二进制转换方法为 5除以2 得余数1 然后再用商值2继续除以2 得余数0 然后除尽了商值为1 所以 最后得到二进制值为 101public static void main(String[] args) { StringBuffer sbf = toBin(10); String str=sbf.reverse().to
2015-05-15 10:36:39
803
原创 数据库索引
索引类型 包括普通索引,唯一索引,主键索引与组合索引 (1)普通索引 创建索引CREATE INDEX indexName ON mytable(username(length)); 如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和T
2015-05-15 10:36:31
276
原创 Java基础
线程有几种状态? 在Java当中,线程通常都有五种状态,创建、就绪、运行、阻塞和死亡。第一是创建状态。在生成线程对象,并没有调用该对象的start方法,这是线程处于创建状态;第二是就绪状态。当调用了线程对象的start方法之后,该线程就进入了就绪状态,但是此时线程调度程序还没有把该线程设置为当前线程,此时处于就绪状态。在线程运行之
2015-05-15 10:35:47
360
原创 JS闭包
要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。Js代码var n=999; function f1(){ alert(n); } f1(); // 999另一方面,在函数外部自然无法读取
2015-05-15 10:34:24
263
原创 linux删除文件夹及里面的所有文件
linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可。直接rm就可以了,不过要加两个参数-rf 即:rm -rf 目录名字-r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思top 查看内存,cpu等运行状态,类似windows任务管理器
2015-05-15 10:32:33
1008
原创 java实用小程序
1. 把Strings转换成int和把int转换成StringString a = String.valueOf(2); //integer to numeric string int i = Integer.parseInt(a); //numeric string to an int String a = String.valueOf(2); //integer
2015-05-15 10:30:16
569
原创 java 线程池的4种方法
Java四种线程池的使用Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThre
2015-05-15 10:27:55
446
原创 tomcat服务器指向本地debug
1.在catalina.bat中加入:set CATALINA_OPTS=%CATALINA_OPTS% -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787address 端口号随意2.在命令行中输入 ca
2015-05-15 10:27:42
644
原创 java高并发问题
对于一些网站,像12306来说,春运期间上千万用户使用,我们就必须考虑高并发问题,又如淘宝的秒杀,同一时间同时提交数据量特别大,并发可能引起数据丢失或者数据不正确等情况。 高并发问题成为系统性能的瓶颈,当然我们知道如果使用j2ee规范EJB的话,对于大量数据同时并发问题我们不需要考虑。高并发问题就像上班高峰期13号线的某个地铁口,拥挤拥挤拥挤,是怎么解决的呢?设置
2015-05-15 10:27:08
494
原创 java垃圾回收
GC在什么时候对什么做了什么? 要回答这个问题,先了解下GC的发展史、jvm运行时数据区的划分、jvm内存分配策略、jvm垃圾收集算法等知识。 先说下jvm运行时数据的划分,粗暴的分可以分为堆区(Heap)和栈区(Stack),但jvm的分法实际上比这复杂得多,大概分为下面几块: 1、程序计数器(Program Conuter Re
2015-05-15 10:26:29
283
原创 简述spring 的事务传播行为和 隔离级别
简述spring 的事务传播行为和 隔离级别spring 的事务传播行为: Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播: PROPAGATION_REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务
2015-05-15 10:25:05
429
原创 ibatis 中的#与$的区别
ibatis 中的#与$的区别在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型匹配,而$不进行数据类型匹配,例如:select * from table where id = #id# ,其中如果字段id为字符型,那么#id#表示的就是’id’类型,如果id为整型,那么
2015-05-15 10:25:03
326
原创 sql语法
写出删除表中重复记录的语句 oracledelete from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) and rowid not in (select min(rowid) from people
2015-05-15 10:24:08
485
原创 sql 连接池
数据库连接池技术的思想非常简单,将数据库连接作为对象存储在一个Vector对象中,一旦数据库连接建立后,不同的数据库访问请求就可以共享这些连接,这样,通过复用这些已经建立的数据库连接,可以克服上述缺点,极大地节省系统资源和时间。数据库连接池的主要操作如下:(1)建立数据库连接池对象(服务器启动)。(2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。(3)对于
2015-05-15 10:22:55
592
原创 linux mysql 操作命令
linux mysql 操作命令1.linux下启动mysql的命令:mysqladmin start/ect/init.d/mysql start (前面为mysql的安装路径)2.linux下重启mysql的命令:mysqladmin restart/ect/init.d/mysql restart (前面为mysql的安装路径)3.linux下关闭mysq
2015-05-15 10:20:06
347
原创 maven基础学习
Eclipse创建maven项目后,没有src/main/java目录今天用一个新的Eclipse来创建maven项目,发现创建之后没有生成src/main/java目录,同时我手动来生成,也不能成功,提示该目录已经存在了,最后找到原因,是因为我选择的JRE不对,应该选择本机安装JDK带的JRE,而不是IDE的,下面就修改下 对应Project-->Proper
2015-05-15 10:18:24
622
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人