Java学习笔记
we will rock you
Java DE
展开
-
Executors常用的创建ExecutorService的几个方法说明
一、线程池的创建我们可以通过ThreadPoolExecutor来创建一个线程池。new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, milliseconds,runnableTaskQueue, handler);创建一个线程池需要输入几个参数:corePoolSize(线程池的基本大小)...转载 2020-02-26 23:04:24 · 732 阅读 · 0 评论 -
Java日期的正则表达式
http://sind.iteye.com/blog/253413转载 2012-07-28 10:16:18 · 411 阅读 · 0 评论 -
Java中HashMap遍历的两种方式
转]Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry转载 2013-12-30 11:37:34 · 486 阅读 · 0 评论 -
InputStream重用技巧(利用ByteArrayOutputStream)
InputStream重用技巧(利用ByteArrayOutputStream)有时候我们需要对同一个InputStream对象使用多次。比如,客户端从服务器获取数据 ,利用HttpURLConnection的getInputStream()方法获得Stream对象,这时既要把数据显示到前台(第一次读取),又想把数据写进文件缓存到本地(第二次读取)。但第一次读取InputS转载 2015-01-06 18:46:11 · 6033 阅读 · 0 评论 -
xml与String相互转换
一、使用最原始的javax.xml.parsers,标准的jdk api // 字符串转XML [java] view plaincopyprint?String xmlStr = \"......\"; StringReader sr = new StringReader(xmlStr); InputSource is = n转载 2014-12-31 17:28:52 · 829 阅读 · 0 评论 -
Java中的private、protected、public和default的区别
(1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。(2)对于protected修饰符,它主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西。(3)对于default来说,有点的时候也成为friendly转载 2015-11-05 10:03:34 · 355 阅读 · 0 评论 -
Java中从控制台输入数据的几种常用方法
一、使用标准输入串System.in //System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字 //System.in.read()返回一个整数 //必须初始化 //int read = 0; char read = '0'; System.out.println("输入数据:"); try { //read转载 2015-11-04 23:21:22 · 457 阅读 · 0 评论 -
Java读取文件方法大全
1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容5、将内容追加到文件尾部public class ReadFromFile { /** * [1]以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(Stri转载 2015-11-09 07:55:50 · 536 阅读 · 0 评论 -
java中的char类型
一:char的初始化char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode。不过8位的ASCII码包含在Unicode中,是从0~127的。Java中使用Unicode的原因是,Java的Applet允许全世界范围内运行,那它就需要一种可以表述人类所有语言的字符编码。Unicode。但是English,Spanish,Ge转载 2015-10-24 22:06:41 · 452 阅读 · 0 评论 -
JAVA常用异常
1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了转载 2017-03-22 11:46:43 · 630 阅读 · 0 评论 -
加密&Charset
单参数加密或多参数(eg:参数+参数+参数+......)等作为要加密的内容,一般为String类型,实际在转Bytes()时,须注意明文写明编码问题,如sourceString.getBytes("UTF-8"),避免因String型值相同,但Bytes()值不同而造成值不对的困扰。eg:public static String sHA256Encode(String sourc...原创 2018-08-10 16:18:19 · 152 阅读 · 0 评论 -
浅谈Java中的hashcode方法
浅谈Java中的hashcode方法 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法: 1 public native int hashCode(); 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出...转载 2018-10-19 16:21:27 · 106 阅读 · 0 评论 -
JAVA中重写equals()方法的同时要重写hashcode()方法
object对象中的 public boolean equals(Object obj),对于任何非空引用值 x 和 y,当且仅当 x 和 y 引用同一个对象时,此方法才返回 true;注意:当此方法被重写时,通常有必要重写 hashCode 方法,以维护 hashCode 方法的常规协定,该协定声明相等对象必须具有相等的哈希码。如下:(1)当obj1.equals(obj2)为tru...转载 2018-10-19 16:23:24 · 243 阅读 · 0 评论 -
一个用servlet实现导出csv文件的实例
一个用servlet实现导出csv文件的实例关键字: Java Servlet CSV本文实现了一个基于servlet技术的简单的csv文件导出的程序实例。代码如下,其中setCsvData函数的作用是设置导出的数据,并将结果保存于Vector中,实际应用时可以任意扩展该函数:package common;import java.io.IOExcep转载 2012-07-20 07:39:31 · 1256 阅读 · 0 评论 -
java 数组的排序
【冒泡排序】public static void sort(int[] values){ int temp; for(int i=0 ; i /*【注】内嵌套是j,用 j来锁定数组索引,内嵌套j 变量要否则 内嵌套for循环,在外for第一次时,索引[j+1]就超界*/ for(in原创 2012-04-13 23:12:08 · 392 阅读 · 0 评论 -
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波)
java基础知识Java面试java类中静态域、块,非静态域、块,构造函数的初始化顺序2面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,另外还有一些将变量值输出到控制台的代码,然后让我们判断输出的结果。这实际上是在考查我们对于继承情况下类的初始化顺转载 2011-10-21 13:08:56 · 466 阅读 · 0 评论 -
tomcat WebappClassLoader 加密class文件
tomcat WebappClassLoader 加密class文件tomcat class WebappClassLoeader 加密 对class文件时行加密,tomcat加载class文件时再进行解密.可以达到隐藏代码的目的.下面用commons-codec中的base64对class进行encode,再在tomcat加载时对class进行decode.1.对要encode转载 2011-10-23 13:37:44 · 596 阅读 · 0 评论 -
Java关键字new和newInstance的区别方法
作者:八神出处:论坛2008-04-16 00:00字号:T|T-->在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是关键字外,最主要有什么区别? 在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是关键字外,最主要有什么区别?它们的区别在于创建对象的方式不一样,前转载 2011-10-23 13:46:04 · 440 阅读 · 0 评论 -
java 内存机制(堆和栈)内存地址
java 内存机制(堆和栈)内存地址JavaJVM多线程数据结构虚拟机问题的引入:问题一:String str1 = "abc"; String str2 = "abc"; System.out.println(str1==str2); //true 问题二:String str1 =new String ("abc"); String str2 =ne转载 2011-10-23 13:15:57 · 1143 阅读 · 0 评论 -
写入文件 csv 与 xls的区别
1:csv 文件开始创建无分配固定容量空间,xls 一旦创建(office)即创建了固定的容量大小空间;2:同时CSV (*.csv) 文件格式只能保存活动工作表中的单元格所显示的文本和数值。工作表中所有的数据行和字符都将保存。数据列以逗号分隔,每一行数据都以回车符结束。如果单元格中包含逗号,则该单元格中的内容以双引号引起。如果单元格显示的是公式而不是数值,该公式将转换为文本方式。所有格式、图原创 2011-12-01 16:33:39 · 2702 阅读 · 0 评论 -
java.lang.ArrayIndexOutOfBoundsException异常分析及解决
java.lang.ArrayIndexOutOfBoundsException异常分析及解决 这是一个非常常见的异常,从名字上看是数组下标越界错误,解决方法就是查看为什么下标越界。下面是一个错误示例: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2at test4.State.n转载 2011-12-29 12:14:05 · 2298 阅读 · 0 评论 -
JAVA解析纯真IP地址库
前几天看了下Ruby的IPParse,觉得很过瘾,上网查了下貌似很多IP数据库都要收费的,就下了个纯真QQIP地址库,发现还可以在线升级的,很适合咱做点小玩意。具体解析的纯真版IP地址库请详见http://lumaqq.linuxsir.org/article/qqwry_format_detail.html,这里就不多叙述了。看下JAVA代码中怎么解析IP的吧。(代码参考至lumaQQ.谢谢转载 2011-12-29 18:33:30 · 6710 阅读 · 2 评论 -
[转]Java中Runnable和Thread的区别
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限,下面看例子:package org.thread.demo;class MyThread extend转载 2012-02-16 15:55:29 · 297 阅读 · 0 评论 -
深入理解JVM
1 Java技术与Java虚拟机说起Java,人们首先想到的是Java编程语言,然而事实上,Java是一种技术,它由四方面组成: Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API)。它们的关系如下图所示:图1 Java四个方面的关系运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编转载 2012-03-23 23:22:29 · 415 阅读 · 0 评论 -
Java中的线程池
为什么要使用线程池在Java中,如果每当一个请求到达就创建一个新线程,开销是相当大的。在实际使用中,每个请求创建新线程的服务器在创建和销毁线程上花费的时间和消耗的系统资源,甚至可能要比花在处理实际的用户请求的时间和资源要多得多。除了创建和销毁线程的开销之外,活动的线程也需要消耗系统资源。如果在一个JVM里创建太多的线程,可能会导致系统由于过度消耗内存或“切换过度”而导致系统资源不足。为了防转载 2012-03-14 07:18:25 · 413 阅读 · 0 评论 -
java冒泡排序算法
【面试必考】package bubble;public class BubbleSort { public static void main(String[] args){ int[] values ={ 3,1,6,2,9,0,7,4,5 }; sort(values); for(int i=0; i原创 2012-03-16 00:24:20 · 337 阅读 · 0 评论 -
JAVA修饰符介绍
一、 类的访问控制修饰符(非内部类)修饰符public默认修饰符作用任何地方都能访问包访问权限:包内可以访问,包外无法访问 二、 类的特性修饰符互斥与兼容(非内部类)修饰符finalabstractstrictfp转载 2012-04-23 15:33:17 · 414 阅读 · 0 评论 -
JDK环境变量配置
下载好的JDK是一个可执行安装程序,双击安装。将安装路径改为:C:\jdk1.6.0(当然其他路径也可以)。JDK安装完成之后我们来设置环境变量: 我的电脑点右键,选择“属性”,选择“高级”标签,进入环境变量设置,分别设置如下三个环境变量: (1)设置好path变量,使得我们能够在系统中的任何地方运行java应用程序,比如javac、java、javah等等,这就要找到我们转载 2012-04-13 21:46:59 · 367 阅读 · 0 评论 -
java中equals和==的区别
java中equals和==的区别值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。==比较的是2个对象的地址,而e转载 2012-04-13 23:10:22 · 327 阅读 · 0 评论 -
Java jdk/bin 目录下的类包 tools.jar 和 dt.jar 的说明
很多人在初学Java的时候,都要配置环境变量。在配置CLASSPATH的时候,都会加上一个当前目录.,还有两个jar:dt.jar和tools.jar。其实好多人都不了解这两个jar的作用,尤其是dt.jar。网上的大部分解释是这样的:dt.jar是关于运行环境的类库,主要是swing的包;tools.jar是关于一些工具的类库。对于后者我赞同,tools.jar中主要是jdk工具,包括javac转载 2012-04-13 21:46:21 · 3011 阅读 · 0 评论 -
是String,StringBuffer还是StringBuilder?
是 String , StringBuffer 还是 StringBuilder ? 相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下转载 2011-07-12 15:02:46 · 378 阅读 · 0 评论