java
文章平均质量分 66
HGodsun
在校小白一枚~
展开
-
jvm原理学习
1.每一个Java虚拟机都由一个类加载器子系统(class loader subsystem),负责加载程序中的类型(类和接口),并赋予唯一的名字。每一个Java虚拟机都有一个执行引擎(execution engine)负责执行被加载类中包含的指令。数据区:方法区:Java虚拟机加载并解析一个类以后,将从类文件中解析出来的信息保存与方法区中堆:程序执行时创建的 对象都保存在堆中转载 2016-09-27 09:09:33 · 371 阅读 · 0 评论 -
java Stringbuffer的使用
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。 在转载 2017-04-16 11:07:21 · 530 阅读 · 0 评论 -
java的Set集合相关问题
1.HashSet的底层实现原理:(哈希表实现,最佳通用实现)HashSet底层是通过HashMap实现的,构造函数,构造HashSet的时候底层就构造了一个HashMap public HashSet() { map = new HashMap<>(); } private static final Object PRESEN原创 2017-05-10 19:48:17 · 265 阅读 · 0 评论 -
java单例模式
概念: Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、转载 2017-05-05 09:04:03 · 392 阅读 · 0 评论 -
java线程池
Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?转载 2017-05-06 09:44:56 · 446 阅读 · 2 评论 -
java web中的绝对路径问题
在web开发中需要用到的绝对路径来表示某个文件所在的位置:${pageContext.request.contextPath }/xxx/xxx原创 2016-09-05 09:48:59 · 399 阅读 · 0 评论 -
TCP三次握手和四次握手
一、TCP报文格式 TCP报文格式图: 上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。 (3)标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等转载 2017-05-06 16:27:10 · 528 阅读 · 0 评论 -
HashMap jdk7与jdk8
JDK7中的HashMap HashMap底层维护一个数组,数组中的每一项都是一个Entrytransient Entry[] table;我们向 HashMap 中所放置的对象实际上是存储在该数组当中; 而Map中的key,value则以Entry的形式存放在数组中 static class EntryK,V> implements Map.Ent转载 2017-05-08 09:38:22 · 417 阅读 · 0 评论 -
Mysql数据库索引
B-Tree索引:(1)从左侧列开始,不然索引无效 (2)不能跳过索引中的列 (3)如果查询中有某个列使用了范围查询,那么这个列右边的列都不可以使用索引。 Hash索引:(精确匹配索引所有列的查询才有效) 把整行的各个列一起进行hash,得到一个hash code, (1) hash索引中只包括hash值和指针,不包括具体的数据,速度块() (2)hash原创 2017-05-08 18:42:17 · 423 阅读 · 0 评论 -
多线程编程 使用 synchronized来同步静态方法 非静态方法 代码块
进行多线程编程,同步控制是非常重要的,而同步控制就涉及到了锁。 对代码进行同步控制我们可以选择同步方法,也可以选择同步块,这两种方式各有优缺点,至于具体选择什么方式,就见仁见智了,同步块不仅可以更加精确的控制对象锁,也就是控制锁的作用域,何谓锁的作用域?锁的作用域就是从锁被获取到其被释放的时间。而且可以选择要获取哪个对象的对象锁。但是如果在使用同步块机制时,如果使用过多的锁也会容转载 2017-04-26 16:03:54 · 564 阅读 · 0 评论 -
Java反射机制的适用场景及其利与弊
一、反射的适用场景是什么?1).Java的反射机制在做基础框架的时候非常有用,有一句话这么说来着:反射机制是很多Java框架的基石。而一般应用层面很少用,不过这种东西,现在很多开源框架基本都已经给你封装好了,自己基本用不着写。典型的除了hibernate之外,还有spring也用到很多反射机制。经典的就是在xml文件或者properties里面写好了配置,然后在Java类里面解析xml或p转载 2017-03-06 10:16:15 · 540 阅读 · 0 评论 -
java中 static 的执行顺序问题
关于static的 父类和子类的执行顺序问题:首先用代码来证明:父类如下:public class staticDemo {static {int x=5;System.out.println("父亲的静态代码块执行了");}static {int x=5;System.out.println("父亲的静态代码块2执行了");}static vo原创 2017-03-05 13:10:08 · 2262 阅读 · 0 评论 -
java中static相关问题,执行顺序等
成员变量: 在类体里面定义的变量称为成员变量; 如果该成员变量有 static 关键字修饰,则该成员变量称为 静态变量 或 类变量; 如果该成员变量没有 static 关键字修饰,则该成员变量被称为 非静态变量 或 实例变量。局部变量: 形参、方法内定义的变量、代码块中定义的变量,都属于局部变量。类变量 (静态变量) 1. 可以向前原创 2017-03-05 12:56:01 · 418 阅读 · 0 评论 -
关于java中成员变量,static等问题总结
1.区分成员变量与局部变量class A { int a;//成员变量 public static void main(String[] args) { int b;//局部变量 } }2.成员变量可以不赋予初值,自动赋值为0;而局部变量必须赋予初值3.成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制原创 2016-09-28 09:50:18 · 1997 阅读 · 3 评论 -
关于SSH,插入数据时,,遇到的关于date的问题
今天在做ssh项目时候,一直插入数据库不成功,别的地方没有写错,报错如下:com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect datetime value: '' for column 'date' at row 开始用的mysql驱动为mysql-connector-java-5.0.3-bin.原创 2016-11-07 21:12:17 · 1019 阅读 · 1 评论 -
maven学习
1.实习之前为了多增加点自己的内容,特意简略学习一下,maven,这个路上真是坑不断啊本人使用的是ecplise4.6 ,ecplise自带了maven ,但是博主没有使用自带的maven。需要首先进行下载给一个下载maven的网站。http://download.csdn.net/detail/Imain/32447782.下载之后,直接解压即可,接着需要配置环境变量,在此不在陈述原创 2016-10-28 12:52:24 · 413 阅读 · 0 评论 -
String StringBuiler StringBuffer
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String转载 2016-12-11 16:11:44 · 358 阅读 · 0 评论 -
序列化和反序列化
一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存。比如最常见的是转载 2016-12-12 13:26:50 · 962 阅读 · 0 评论 -
java web 域
四个域的作用域范围大小:PageContext (page域) 一、ServletContext1、生命周期:当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。2、作用范围:整个Web应用。3、作用:a) 在不同Servlet 之间转发转载 2016-12-12 13:29:24 · 319 阅读 · 0 评论 -
java的方法重载和方法重写
重写方法的规则如下:1. 参数列表:必须与被重写方法的参数列表完全匹配。 2. 返回类型:必须与超类中被重写的方法中声明的返回类型或子类型完全相同 3. 访问级别:一定不能比被重写方法强,可以比被重写方法的弱。 4. 非检查异常:重写方法可以抛出任何非检查的异常,无论被重写方法是否声明了该异常。 5. 检查异常:重写方法一定不能抛出新的检查异常,或比被重写方法声明的检查转载 2017-02-27 21:19:19 · 1322 阅读 · 0 评论 -
java中JVM相关知识
1. 什么是JVM?JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码转载 2017-02-14 15:33:20 · 408 阅读 · 0 评论 -
java异常 运行时 非运行时异常
1.Java异常机制Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。Java中的异常分为两大类:错误Error和异常Exception,Java异常体系结构如下图所示:图片来源:http://blog.csdn.net/wuwenxiang91322/article/details/103463372.Throw转载 2017-03-05 11:43:37 · 397 阅读 · 0 评论 -
关于java中instance of的使用
以前从未使用过这个东西,今天读代码用到:特意来记录下:public static String objectToJson(Object obj) { StringBuilder json = new StringBuilder(); if (obj == null) { json.append("\"\""); } else if (obj instanceof Numb原创 2017-06-08 15:20:44 · 1310 阅读 · 0 评论