
java学习
adolph_jun
这个作者很懒,什么都没留下…
展开
-
JAVA RSA非对称加密详解
原文:原文地址package com.rsa;import org.apache.commons.codec.binary.Base64;import javax.crypto.Cipher;import java.security.*;import java.security.interfaces.RSAPrivateKey;import java.security.int...转载 2018-07-24 10:10:36 · 266 阅读 · 0 评论 -
Log4j日志文件配置
日志文件配置分为两步:1、定义变量2、给变量赋值日志文件配置:1、log4j.rootLogger (定义日志输出级别和变量)log4j.rootLogger=level,appender1, appender2, ….参数解释:level:日志输出级别,高于等于levelappender1, appender2, ….:输出地点变量和日志属性变量(可以看成原创 2017-10-25 16:26:19 · 376 阅读 · 0 评论 -
jvm内存溢出和参数设置
虚拟机栈和本地方法栈溢出:StackOverflowError-Xoss:设置本地方法栈大小java堆溢出:OutOfMemoryError java heap space-Xmx:设置虚拟机堆参数的最大值-Xms:设置虚拟机堆参数的最小值运行时常量池溢出:OutOfMemoryError PermGen space-XX:PermSize ,-XX:MaxPermS原创 2017-11-09 09:05:09 · 2358 阅读 · 0 评论 -
jvm-java中对象的访问
1、jvm对象的访问方式主要有:使用句柄和直接指针。1.1、使用句柄:java堆中会分出一块内存存作为句柄池,用于存放句柄,应用对象中存放的就是句柄的地址,句柄中包含实例数据和类型数据的具体地址信息。1.2、直接指针:引用类型对象直接存储的就是实例对象地址。原创 2017-11-08 08:37:47 · 359 阅读 · 0 评论 -
JVM-运行时数据区
一、运行时数据区总的分为:方法区、堆、虚拟机栈、本地方法栈、程序计数器。二、程序计数器:1、可以看做是当前线程所 执行的字节码的行号指示器。2、字节码解释器通过改变这个计数器选取下一条需要执行的字节码指令。3、程序计数器是线程私有的,每条线程都需要一个程序计数器来来执行线程中的指令。原创 2017-11-07 11:56:09 · 184 阅读 · 0 评论 -
接口回调
1‘、专业解释:。。。。2、个人理解:有一个员工类(Employye),里面有一个doWork2(),方法,但是这个方法具体做什么还不知道,由Employye的实例对象决定定义一个接口public interface CallBack { public void doEvent(int i);}方法中的参数为借口对象public class Employye { C原创 2017-09-24 23:45:23 · 182 阅读 · 0 评论 -
JAVA中IO复习
一、JAVA中IO二、字节流与字符流根据数据类型分为:字符和字流根据数据流向分为:读和写(输入和输出) 字节流:处理所有类型的数据(图片,avi等)字符流:处理字符类型数据 三、具体操作1、字节流:1.1、控制台的读写 1.1.1、从控制台输入内容 InputStream in = System.in; In.原创 2016-12-31 13:28:48 · 237 阅读 · 0 评论 -
java-积累
一、字符串处理之compareTostring.compareTo("str")//比较两个字符串是否相同此方法如果这个字符串是等参数字符串那么返回值0,如果这个字符串是按字典顺序小于字符串参数那么返回小于0的值,如果此字符串是按字典顺序大于字符串参数那么一个大于0的值原创 2016-11-20 21:54:25 · 192 阅读 · 0 评论 -
java小知识-byte类型
在学习java的过程中一只没注意byte这个类型,今天初学1、byte 占一个字节,即8位,即8个0 1,最高位为符号位2、最大 01111111 127 最小 111111111 -1283、int 占32 位,byte和int之间赋值就要注意 当把int 类型的值赋给byte可能会出错 当int 类型的值小于一个字节不会出错原创 2016-11-28 23:43:00 · 376 阅读 · 0 评论 -
java第二十六节-UDP编程
UDP编程进行数据传输时,首先需要将要传输的数据定义成数据报,在数据报中指明数据所要达到的Socket,然后再将数据报发送出DatagramPacket:表示数据报类DatagramSocket进行端到端的通信服务器端实现步骤1、穿件DatagramSocket,指定端口2、创建DatagramPacket,用于接受客户端发送的数据,包含发送信息原创 2016-03-29 00:46:23 · 213 阅读 · 0 评论 -
java第二十五节-多线程socket通信
多线程服务器应用多线程来实现服务器与多客户端之间的通信基本步骤1、服务器端创建Serversocket,循环使用accept()等待客户端连接2、客户端创建一个socket并请求和服务器端服务器连接3、服务器端接受客户端请求,创建socket与该客户建立专线连接4、建立连接的两个socket在一个单独的线程上对话5、服务器端继续等待新的链接客户端pack原创 2016-03-28 21:40:14 · 281 阅读 · 0 评论 -
jvm-判断对象是否存活的算法
一、引用计数算法1、给每一个对象添加一个引用计数器,当有引用指向对象时,计数器加一,引用移除时,计数器减一,当计数器为0时,说明对象未被引用,可以回收。2.存在问题:两个对象互相引用,此时不会被回收。3、优点:简单高效4、java虚拟机不采用二、根搜索算法1、通过一系列的名为“GC Roots”的对象作为起点,从这些节点向下搜索,经过的路径称为引用链,当一个对象没有原创 2017-11-10 08:41:04 · 519 阅读 · 0 评论 -
jvm-垃圾收集器
一、Serial收集器1、虚拟机新生代收集的唯一选择。(client端)2、单线程。3、简单高效。二、ParNew收集器1、Serial的多线程版本2、唯一能和CMS收集器配合使用。原创 2017-11-29 08:41:13 · 161 阅读 · 0 评论 -
java配置文件操作积累
1、ResourceBundle读取配置文件private static final ResourceBundle bundle = java.util.ResourceBundle.getBundle("conf/sysConfig");原创 2018-04-11 16:15:19 · 229 阅读 · 0 评论 -
java的Unicode之间的转换
//中文转Unicode public static String gbEncoding(final String gbString) { char[] utfBytes = gbString.toCharArray(); String unicodeBytes = ""; for (int byteIndex = 0...原创 2018-03-07 09:00:17 · 478 阅读 · 0 评论 -
java判断字符串是否是数字
public static boolean isNumber(String str) { if (StringUtils.isEmpty(str)) { return false; } char[] chars = str.toCharArray(); int sz = chars.length;原创 2018-02-05 08:43:17 · 390 阅读 · 0 评论 -
线程池
主要执行流程if(now 创建线程执行}if(now>core && now if(阻塞队列未满){加入阻塞队列}else{尝试创建线程执行任务}}if(now>max){放弃}学习大纲:1、五种状态2、execute(Runnable command) 方法;执行任务3、addWorker(Runnable firstTask, bo原创 2018-01-15 13:56:40 · 244 阅读 · 0 评论 -
jvm-并发编程
并发编程java内存模型:定义程序中各个变量的访问规则。变量:实例子段、静态子段和构成数组对象的元素。两大块:工作内存,主内存基本概念:1、所有的变量都存储在主内存中。2、主内存:所有的公共数据。3、工作内存:线程使用的变量和主内存中的副本。4、线程对变量的操作都是在工作内存中的,无法直接操作主内存。5、不同的线程之间也不能进行互原创 2017-12-14 09:28:10 · 350 阅读 · 0 评论 -
jvm-类加载
类加载整个生命周期包括:加载--验证--准备--解析--初始化--使用--卸载加载-验证-准备-初始化--卸载的开始顺序是一定的解析是可能在初始化后初始化:有切只有四种情况要对累进行初始化1、使用new关键子实例化对象,调用接口的静态变量,给接口的静态变量赋值(被final修饰,或已在编译期把结果放入常量池的静态子段除外),调用一个类的静态方法2、对类进行反射调用原创 2017-12-14 09:26:41 · 195 阅读 · 0 评论 -
JVM-Class类文件的结构
一、Class类文件概述1、Class类文件是一组以8位字节为基础单位的二进制流,当遇到8位字节以上的数据项时,则会安照高位在前的方式进行分割成诺干个8位字节进行存储。2、构成:无符号数、表3、无符号数属于基本的数据类型,以u1、u2、u4、u8来分别代表一个字节、两个字节、四个字节、八个字节的无符号数。无符号数可以描述数字,索引引用,数量值,或者安装UTF-8编码构成的字符串值。原创 2017-12-01 08:36:31 · 260 阅读 · 0 评论 -
jvm-垃圾回收算法
一、标记清除算法1、概述:标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。2、缺点:效率低,产生大量的不连续的内存碎片。二、复制算法1、将内存划分为相等的两块,每次只使用其中的一块。当这一块内存用完时,就将这一块内存赋值到未使用的那块,然后把已经用过的内存空间进行回收。2、实现简单,效率高3、内存被缩小一半,代价大。原创 2017-11-15 09:11:56 · 158 阅读 · 0 评论 -
java第二十四节-socket和serversocket
一、Socket同信基于TCP协议实现网络通信的类1、客户端的Socket类2、服务端的ServerSocket二、通信模型三、实例客户端:package com.socket;import java.io.IOException;import java.io.PrintWriter;import java.net.Socke原创 2016-03-28 13:31:43 · 218 阅读 · 0 评论 -
java二十三节-InetAddress与URL
一、InetAddress实例package com.socket;import java.net.InetAddress;import java.net.UnknownHostException;public class Test01 { public static void main(String[] args) throws UnknownHostException{ /原创 2016-03-28 13:17:07 · 304 阅读 · 0 评论 -
java第十节-字符串String
一、在 Java 中,字符串被作为 String 类型的对象处理。 String 类位于 java.lang 包中。默认情况下,该包被自动导入所有的程序。1、创建String对象: String 对象名; String name; 创建时可以同时赋值 String name="张三";二、String 对象创建后则不能被修改,是不原创 2016-03-21 19:06:30 · 220 阅读 · 0 评论 -
java第九节-异常
一、异常1、所有的异常类都继承于Throwable,Throwable有两个子类: Error:虚拟机错误,线程死锁(一般很少遇到) Exception:编码,环境,用户操作或输入2、Exception主要分为RuntimeException(非检查异常)和检查异常 a、非检查异常主要分为:空指针异常,数组下标越界,类型转换,算术异常,自动抛原创 2016-03-20 22:45:54 · 199 阅读 · 0 评论 -
JAVA第七节-继承,继承中方法重写,继承的初始化顺序,final关键字,super关键字,object类
一、继承1、2、继承的好处: a、子类拥有父类所有的属性和方法 b、实现代码的复用3、语法:class 子类 extends 父类4、父类的私有属性不能继承二、继承中方法重写1、重写:子类可以对父类中的方法进行重写,当调用方法时,会优先调用子类的方法2、重写规则:a、返回值类型,b、方法名,c、参数类型及个数都要与父类相同原创 2016-03-20 10:12:23 · 390 阅读 · 0 评论 -
java第五节-类,对象,构造方法,静态-static,封装
一、类1、类是模子,确定对象将会拥有的特征(属性)和行为(方法)2、类是对象的类型,具有相同属性和方法的一组对象集合二、对象1、对象的属性:对象所拥有的特定值2、对象的方法:对象执行的操作三、定义类1、组成:属性和方法2、步骤:a、定义类名,b、编写类的属性,c、定义类的方法public class Phone { //属性原创 2016-03-19 17:05:59 · 514 阅读 · 0 评论 -
java第六节-this关键字,java的内部类
一、this关键字1、this关键字代表当前对象(一般指当前类) this.属性 操作当前对象的属性 this.方法 调用当前对象的方法2、封装对象属性时,会用到this二、java的内部类1、内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。2、 内部类提供了更好的原创 2016-03-19 17:58:02 · 357 阅读 · 0 评论 -
java第八节-多态,抽象类,接口
一、多态1、引用多态 父类的引用可以指向本类的对象 父类的引用可以指向子类的对象2、方法多态 父类创建本类对象时,调用的方法为本类的方法 父类创建子类对象时,调用的方法为子类重写的方法或者继承方法3、子类中特有的方法,不可以被父类的对象引用二、引用类型转换1、向上类型转换,是小类型到大类型2、向下类型转换,是打类型原创 2016-03-20 13:41:50 · 299 阅读 · 0 评论 -
java第四节-方法
一、定义一个方法一般情况下,定义一个方法的语法是:其中:1、 访问修饰符:方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用在后面章节中会详细讲解滴2、 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void原创 2016-03-19 15:07:53 · 227 阅读 · 0 评论 -
java第三节数组
一、数组的定义1、 声明数组语法: 数据类型[ ] 数组名;或者 数据类型 数组名[ ];其中,数组名可以是任意合法的变量名,如:2、 分配空间简单地说,就是指定数组中最多可存储多少个元素语法: 数组名 = new 数据类型 [ 数组长度 ];其中,数组长度就是数组中能存放元素的个数,如:话说,我原创 2016-03-19 15:03:44 · 201 阅读 · 0 评论 -
java第二节
java中的控制语句1、if........else if (a>b)//括号中是条件{ a=1;//条件成立时执行} else{ a=2;//条件不成立是执行}2、switch执行过程:当 switch 后表达式的值和 case 语句后的值相同时,从该位置开始向下执行,直到遇到 break 语句或者原创 2016-03-19 14:49:20 · 242 阅读 · 0 评论 -
java第一节
一、java中的关键字关键字含义abstract表明类或者成员方法具有抽象属性assert用来进行程序调试boolean基本数据类型之一,布尔类型break提前跳出一个块byte基本数据类型之一,字节类型case用在swit原创 2016-03-19 14:39:51 · 243 阅读 · 0 评论 -
java第十一节-包装类,基本类型,String之间的转换
一、基本数据类型,例如 int、float、double、 boolean、char 等。基本数据类型是不具备对象的特性的,比如基本类型不能调用方法、功能简单。。。,为了让基本数据类型也具备对象的特性, Java 为每个基本数据类型都提供了一个包装类,这样我们就可以像操作对象那样来操作基本数据类型。包装类主要提供了两大类方法:1. 将本类型和其他基本类型原创 2016-03-21 19:34:16 · 367 阅读 · 0 评论 -
java第十二节java中时间处理
一、 java.util 包中的 Date 类。这个类最主要的作用就是获取当前时间1、Date time = new Date();System.out.println(time);结果 : Date定义的对象的时间的格式是固定的,可以用 java.text 包中的 SimpleDateFormat来改变时间的格式SimpleDateFormat time1 =原创 2016-03-21 19:48:24 · 254 阅读 · 0 评论 -
java二十二节-输入输出总结
一、字节流输入输出1、FileInputstream和FileOutputStream的相关方法FileInputstream◇ 从流中读取数据: int read( ); //读取一个字节,返回值为所读的字节 int read( byte b[ ] ); //读取多个字节,放置到字节数组b中,通常读取的字节数量为b的长度,返回值为实际读取的字节的数量 int read原创 2016-03-26 15:04:37 · 347 阅读 · 0 评论 -
java第二十节-字节流FileOutputStream-读
一、字节流、字符流1、字节流 a、Inputstream 、Outputstream Inputstream :抽象了应用程序读取数据的方式 Outputstream : 抽象了应用程序写出数据的方式 b、EOF=End 得到-1就读到结尾 c、输入流的基本方法 int b = in.read();读取一原创 2016-03-23 21:39:00 · 272 阅读 · 0 评论 -
java第二十一节-字节流FileOutputStream-写
案例package com.file;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class FileOutDemo原创 2016-03-25 16:42:50 · 327 阅读 · 0 评论 -
java十九节-RandomAccessFile
package com.file;import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.util.Arrays;public class RafDemo { public static void main(String[] args) throws IOE原创 2016-03-23 20:14:51 · 289 阅读 · 0 评论 -
java十八节-File找文件目录
package com.file;import java.io.File;import java.io.IOException;//列出File的一些常用操作如过滤,遍历等public class FileUtils { /* * 列出指定目录下的所有文件 * */ public static void listDirectory(File dir)throws IOExc原创 2016-03-23 19:12:29 · 419 阅读 · 0 评论