Java
番薯(Koali)
没有目标的人只是在帮有目标的人完成目标
展开
-
线程和进程区别
进程与线程进程和线程是两个相对的概念,通常来说,一个进程可以定义程序的一个实例(Instance)。在Win32中,进程并不执行什么,它只是占据应用程序所使用的地址空间。为了让进程完成一定的工作,进程必须至少占有一个线程,正是这个线程负责包含进程地址空间中的代码。实际上,一个进程可以包含几个线程,它们可以同时执行进程地址空间中的代码。为了做到这一点,每个线程有自己的一组CPU寄原创 2016-09-09 14:44:31 · 350 阅读 · 0 评论 -
Java内存分析
Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域:◆寄存器:我们在程序中无法控制◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中◆堆:存放用new产生的数据原创 2016-09-08 11:28:00 · 486 阅读 · 0 评论 -
Java虚拟内存
可以给Java虚拟机设置使用的内存,但是如果你的选择不对的话,虚拟机不会补偿。可通过命令行的方式改变虚拟机使用内存的大小。如下表所示有两个参数用来设置虚拟机使用内存的大小。 参数描述 -Xms JVM初始化堆的大小 -Xmx JVM堆的最大值 这两个值的大小一般根据需要进行设置。初始化堆的大小执行了虚拟机在启动时向系统申请的内存的大小。一般而言,这个参数不重要。但是有的应用原创 2016-09-08 11:28:51 · 4341 阅读 · 0 评论 -
Java虚拟机的什么周期
要理解Java虚拟机,你首先必须意识到,当你说“Java虚拟机”,可能指的是如下3种不同的东西: · 抽象规范。 .一个具体的实现。 .一个运行中的虚拟饥实例。 Java虚拟机抽象规范仅仅是个概念.在Tlm U Mdh01m和FrankYcmn编著的<Thc JavuviduajMach;ne spec小caLion》一书中详细地描述述了它。而该规范的具原创 2016-09-08 11:29:49 · 371 阅读 · 0 评论 -
Java反射的概念
反射1、概念:反射是说在程序运行期间, 对于一个类来说, 可以获取他的属性和方法, 对于一个对象来说, 可以调用他的成员属性和方法.2、java的默认加载器有3个:1).BootStrap Classloader: 根类加载器, 加载最基本的类, 比如lib中的rt.jar, 是最开始的加载器, 不是java语言写的2).Extension Classloader: 扩展类加载器,原创 2016-09-08 11:31:04 · 932 阅读 · 0 评论 -
泛型简介
什么是泛型? 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。 可以在集合框架(Collection framework)中看到泛型的动机。例如,Map 类允许您向一原创 2016-09-08 11:31:56 · 1459 阅读 · 0 评论 -
Java编码规范注意
编码规范对于开发人员来说是非常重要的,有以下几个原因:1.一个软件的生命周期中,80%的花费在于维护2.几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护3.编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码4.如果你将源码作为产品发布,就需要确任它是否被很好的打包并且清晰无误,一如你已构建的其它任何产品 5.为来自不同的项目原创 2016-09-08 13:14:10 · 2228 阅读 · 0 评论 -
Java数据类型
基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型。它们是我们编程中使用最频繁的类型。java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化。1. Java的简单类型及其封装器类Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数原创 2016-09-08 13:15:01 · 503 阅读 · 0 评论 -
Java基础语法
一、标识符及字符集Java语言规定标识符是以字母、下划线"_"或美元符号"$"开始,随后可跟数字、字母、下划线或美元符号的字符序列。Java标识符大小写敏感,没有长度限制,可以为标识符取任意长度的名字,但关键字不能作为标识符。为增强程序可读性,Java作如下的约定:1.类、接口:通常使用名词,且每个单词的首字母要大写2.方法:通常使用动词,首字母小写,其后用大写字母分隔每个原创 2016-09-08 13:15:46 · 727 阅读 · 0 评论 -
Java中堆、栈、常量池等概念解析
Java中堆、栈、常量池等概念解析程序运行时,我们最好对数据保存到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以保存数据:(1) 寄存器。这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不可能在自己的程序里找到寄存器存在的任何踪迹。(2) 栈(st原创 2016-09-08 13:17:48 · 392 阅读 · 0 评论 -
常用排序算法
常用的排序算法1.排序分类1) 插入排序(直接插入排序,希尔排序)2) 交换排序(冒泡排序,快速排序)3) 选择排序(直接选择排序,堆排序)4) 归并排序5) 分配排序(基数排序)注释: 所需辅助空间最多:归并排序所需辅助空间最少: 堆排序平均速度最快: 快速排序不稳定: 快速排序,希尔排序,堆排序排序之间的关系: |--直接插入排序|----插原创 2016-09-08 15:32:46 · 474 阅读 · 0 评论 -
java 数据库连接池配置方式
一,Tomcat配置数据源:方式一:在WebRoot下面建文件夹META-INF,里面建一个文件context.xml,内容如下: Container" type="javax.sql.DataSource" maxActive="50" maxIdle="30" maxWait="10000" logAbandoned="true" use原创 2016-10-14 13:55:33 · 570 阅读 · 0 评论 -
通过豆瓣Api,输入ISBN获取图书信息
在本篇文章中,主要是通过豆瓣API实现获取图书信息的小功能。 一. 豆瓣API能干什么? 参考链接:[url]http://www.douban.com/service/ [/url] 豆瓣API是豆瓣为第三方开发人员提供的编程接口。利用豆瓣API,你可以在你的网站或程序中使用豆瓣的数据和功能.目前的豆瓣API支持的功能包括: 搜索并查看书籍、电影、音乐信息搜索并查转载 2016-10-14 17:54:03 · 14568 阅读 · 1 评论 -
windows7中安装jdk1.8
一:JDK的安装1. 首先上甲骨文公司的官方网站下载JDK的安装包,根据自己电脑的操作系统选择正确的版本下载。不知道下载地址的同学可以直接点击链接:http://www.Oracle.com/technetwork/Java/javase/downloads/jdk7-downloads-1880260.html。下载好的安装包如下图所示。2. 用鼠标左键双原创 2016-10-08 11:44:26 · 6292 阅读 · 0 评论 -
XML操作
在项目中队xml的解析和生成几乎每个程序员都要遇到现在学习如何对xml解析和怎样生成xml。首先,写一个xml,作为我们研究的样本。XmlMessage.xml UTF-8 MALL Welcome all you guys原创 2016-12-26 11:05:27 · 318 阅读 · 0 评论 -
iText导出pdf,poi导出excel并下载到客户端
项目中需要做导出功能,要支持excel,pdf导出。excel导出我选择使用poi;pdf导出我选择使用iText,在此单独做记录。先说说在设计与开发中的问题,从整体上把握设计思路。思路(一)在页面json拼装数据,在后台导出pdf文件到客户端。本例子只是简单的导出列表数据,没有涉及到图片等其他复杂格式文件。所以还是比较简单的。这个设计思路是最理想的原创 2016-12-26 11:11:38 · 2451 阅读 · 1 评论 -
iText官方教程
如果要导出PDF文件,首选当然是iText,从网上也找了些资料,有很多,也有些乱。自己做了个例子,感觉还是很浅,深入的内容还是研究不透。下载了官方的jar包,本来想看看里面的Demo,结果只有api文档。资料还真是不好找。今天发现官方还是有很多例子代码的。下载地址:http://itextpdf.com/examples/iText官网: http://it原创 2016-12-26 11:12:56 · 17942 阅读 · 1 评论 -
Java术语解析
PO(persistant object) 持久对象在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包含任何对数据库的操作.VO(value object) 值对象通常用原创 2016-09-08 11:26:43 · 340 阅读 · 0 评论 -
IO操作小结
字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串,而字节流处理单元为1个字节, 操作字节和字节数组。所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单位的字符而成的,它对多国语言支持性比较好!如果是音频文件、图片、歌曲,用字节流好点,如果是关系到中文(文本)的,用字符流好点. (如果输入的是整数,当作文本处理) 所有文件的储存是都是字节原创 2016-09-08 11:25:44 · 264 阅读 · 0 评论 -
sql语句解析实现
第一步:先对sql语句进行预处理;对于用户,我们应该接受各种形式的查询语句书写,单行或者多行,语句中单个空格或者多个空格的间隔等等。但是我们要解析sql语句,就首先要让对它们做标准化,这样才能进行我们下一步处理。系统中的处理要求:1)消除SQL语句前后的空白,将其中的连续空白字符(包括空格,TAB和回车换行)替换成单个空格;2)将sql语句全变成小写形式(或大写形式);原创 2016-09-09 14:48:20 · 6824 阅读 · 1 评论 -
Apache Commons DbUtils 入门
一、概述 DbUtils小巧的Java数据库操作工具,它在JDBC的基础上做了科学的封装,旨在简化JDBC代码混乱与重复。 对于JDBC代码,存在很多问题,算是对Java的批判:1、操作过程复杂,代码操作一个模式,大量的重复。2、结果集难以处理,拿到一个ResultSet干屁啊,一个一个度,转称JavaBean,后来形成List,太麻烦了。3原创 2016-09-09 14:54:49 · 416 阅读 · 0 评论 -
基础问题总结
1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域 当前类 同一package 子孙类 其他packagepublic √ √ √ √pr原创 2016-09-09 14:56:48 · 335 阅读 · 0 评论 -
Java当中的异常处理
异常处理是程序设计中一个非常重要的方面,也是程序设计的一大难点,从C开始,你也许已经知道如何用if...else...来控制异常了,也许是自发的,然而这种控制异常痛苦,同一个异常或者错误如果多个地方出现,那么你每个地方都要做相同处理,感觉相当的麻烦! Java语言在设计的当初就考虑到这些问题,提出异常处理的框架的方案,所有的异常都可以用一个类型来表示,不同类型的异常对应不同的子类异常(这原创 2016-09-09 14:57:51 · 335 阅读 · 0 评论 -
Log4j入门
一.System.out.println的局限性 1.不能在运行时打开或者关闭 2.不能选择包或者类,在运行的时候打开或者关闭 3.输出的信息没有分级 4.只能输出文本信息 5.不能改变输出的位置,只能输出在控制台上. 二.log4j 基础原创 2016-09-09 14:55:32 · 344 阅读 · 0 评论 -
正则表达式基础认识
正则表达式可以用来:(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。(3)用来替换,比普通的替换更强大。 正则表达式学习起来其实是很简单的,不多的几个较为抽象的概念也很容易理解。之所以很多人感觉正则表达式比较复杂,一方面是因为大多数的文档没有做到由浅入深地讲解,概念上没有注意先原创 2016-09-09 15:04:46 · 239 阅读 · 0 评论 -
正则表达式语法
正则表达式语法一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。这里有一些可能会遇到的正则表达式示例:Visual Basic Scripting Edition VBScript 匹配/^\[ \t]*$/ "原创 2016-09-09 15:05:53 · 761 阅读 · 0 评论 -
Linux中安装jdk
在CentOS 7.0 x64 测试1.下载对应版本的JDK到Linux机器上: # curl -LO -H "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.rpm"原创 2016-09-03 17:52:14 · 614 阅读 · 0 评论 -
关于时间操作工具类整理
package com.hz.util.date;import java.sql.Timestamp;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Gr原创 2016-09-05 21:11:16 · 337 阅读 · 0 评论 -
AES加密Java实现
package com.hz.util.security;import java.io.UnsupportedEncodingException;import java.security.InvalidKeyException;import java.security.NoSuchAlgorithmException;import java.security.SecureR原创 2016-09-05 21:13:53 · 911 阅读 · 0 评论 -
MD5加密
简介 MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc的Ronald L. Rivest开发出来,经MD2、MD3和MD4发展而来。 MD5的作用 是让大容量信息在用数字签名软件签署私人密匙前被”压缩”成原创 2016-09-05 21:18:14 · 431 阅读 · 0 评论 -
Java堆和栈的区别
栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在原创 2016-10-09 15:54:29 · 299 阅读 · 0 评论 -
Java中的值传递和引用传递
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 答:是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)是永远不会改变的。Java参数,不管原创 2016-10-09 16:01:16 · 316 阅读 · 0 评论 -
Java当中定时器使用
定时器类Timer在java.util包中。 * 使用时,先实例化,然后使用实例的schedule(TimerTask task, long delay)方法,设定指定的任务task在指定的延迟delay后运行。定时器任务类TimerTask是抽象类,继承并重写其run()方法,可实现详细任务。 * schedule(TimerTask task, Date time)设定指定任务task原创 2016-10-09 16:44:37 · 678 阅读 · 0 评论 -
Java实现文件复制
代码实现复制文件/* * 编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。 * */public class CopyFolder {public static void main(String[] args) throws IOException {// 封装d:\\java这个原创 2016-09-08 11:22:18 · 2451 阅读 · 0 评论 -
字节与字符流的区别
字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢? 实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图所示。下面以两个写文件的操作为主进行比较,但是在操作时字节流和字符流的操作完成之后都不关闭输出流。范例:使用字节流不关闭执行Java代码 pack原创 2016-09-08 11:25:01 · 289 阅读 · 0 评论 -
js实现关于分页的一种实现方式
项目中用到列表的地方很多,二页面列表的显示必然要求分页,所以分页和查询几乎密不可分,如果说你不会分页查询数据,那你基本上还属于菜鸟。分页的原理很简单,从sql上看就是从哪一条开始,往后差几条。所以sql只需要传2个参数,这只是原理罢了,关键是实现。而实现的方法就多了去了,架构师干这个是小菜一碟。在我的项目中,关于分页架构师已经写好了一个管理分页的类,这个类与sq原创 2016-12-26 11:14:33 · 2896 阅读 · 0 评论