- 博客(29)
- 资源 (1)
- 收藏
- 关注
转载 Lucene比一般数据库的索引查询块
https://blog.csdn.net/qq924862077/article/details/80382634
2019-06-04 20:29:06
174
原创 xml解析之sax解析
html分成两种发展一种是h5还有一种是XHTML,xhtml后发展出来xml即可扩展性标记语言。在此之前大多数采用property file来描述程序配置,但是property采用的是一种单一的平面层次结构,使用起来比较麻烦,并且要求键是唯一的,这样要存放一个值序列,则需要变通的方法。但是xml采用层次结构这样就更够比平面表结构更加灵活使用起来更加方便。当然xml文件也只是一种标记语言,其具体内...
2018-09-10 15:07:06
205
原创 网络编程之自己动手写简易版tomcat机制
tomcat是Apache、Sun 和其他一些公司及个人共同开发而成。经常用于与并发性不高的中小型系统中。为了了解web编程我们对类似于tomcat的服务器软件进行初探析并且自己动手写简易版tomcat。前面我们编写了网络编程多个客户端的相互交互程序。现在我们将浅谈一下与浏览器之间的交互。当然我们从最基础的http协议开始。http协议是在tcp协议上再次进行包装,是应用层间的协议。即在tcp...
2018-09-06 23:19:47
961
原创 网络编程之自己动手写简易聊天室
为了学习web编程,先学习网络编程的基础知识为以后打下基础。网络编程这里使用了TCP协议编程。简易版聊天室实现如下:首先创造服务端:class Server{ public static void main(String[] args) { ServerSocket server; try { server = new Ser...
2018-09-06 08:30:59
2072
原创 java中同步问题及其处理方法二(Synchronized)
在多个线程操作同一个数据的时候,那么在执行过程中可能 不同的线程间彼此产生干扰。针对这种情况,提出了锁的机制。锁的机制就是指对于多线程使用访问同一块代码时,对该代码块进行相应的限制,限制这块代码块在同一时间只能允许一个线程对其访问。当一个线程访问使用完后释放该资源,才允许另一个线程进对其行访问和使用。实现这样锁机制的方法有三种。其一就是使用关键字Synchronized。在方法上添加关键字...
2018-08-31 11:26:46
611
原创 java中同步问题及其处理方法
在多线程的应用中,由于多个线程使用、修改同一个数据,就有可能产生最终数据与想要结果不同的现象。例如编写一个抢票程序如下:public class Piao { public static void main(String[] args) { ExecutorService service=Executors.newCachedThreadPool(); ...
2018-08-29 17:23:18
1169
原创 多线程的三实种现方法
多线程的实现方法有三种,分别为继承Thread类,实例化接口runable和实例化接口callable并加入线程池使用。1继承Thread类public class Race extendsThread{ @override public void run (){ System.out.print...
2018-08-28 21:51:55
254
原创 IO流的分类和使用五
DataInputStream的使用public class Datainputstrem { public static void main(String[] args) { try { DataInputStream inputStream =new DataInputStream(new BufferedInputStream(new Fi...
2018-08-28 16:20:30
186
原创 IO流的分类和使用四
InputStreamReader的使用public class Inoutstremreder { public static void main(String[] args) { try { BufferedReader reader=new BufferedReader(new InputStreamReader(new FileInput...
2018-08-28 16:18:17
157
原创 IO流的分类和使用三
ByteArryInputStream与ByteArryOutputStrea的使用public class Bytesoutputstrem { public static void main(String[] args) { byte[] bytes=getBytes("D:\\a.txt"); toFile(bytes, "D:\\d.txt"...
2018-08-28 16:17:00
244
原创 IO流的分类和使用二
FileInputStream与FileOutputStream的使用public class FileInputstrem { public static void main(String[] args) { try { FileInputStream input=new FileInputStream(new File("D:\\a.txt"...
2018-08-28 16:15:11
155
原创 IO流的分类和使用
IO流可以分为节点流和处理流。节点流包含了:字节流:InputStream和OutputStream、FileInputStream和FileOutputStream,ByteArrayIntputStream和ByteArrayOutputStream。其中InputStream和OutputStream是抽象类不能实例化。字节流可以处理一切的文件。字符流 :Writer和Reade...
2018-08-28 16:13:29
218
原创 泛型的使用二
泛型虽好但是不能够使用多态,在使用过程中指定是什么类型就是什么类型,编译器不认可多态的使用,也就是说泛型不能够使用父类对象引用子类对象。类型系统的研究人员知道这点已一个经很久了,java的设计者发明了一种巧妙的“解决方案”,那就是使用通配符。public static void main(String[] args){ A<Anmimal> animal=new...
2018-08-28 08:49:51
154
原创 泛型的使用
泛型是什么,为什么使用泛型:泛型是指声明时不指定类型,使用时指定类型,用编译时用<T>来声明类型,使用时指定类型<String>。这就意味着意味着编写的代码可以被不同类型的对象所重用。在集合中如果使用object类型,那么在使用过程中我们需要进行强制转换类型,并且在编译过程中不能够进行类型转换检查异常。这样就会容易在运行过程中产生异常。而使用泛型则在使用时指定详细的...
2018-08-27 19:44:50
469
原创 自己动手写HashMap
HashMap是基于哈希散列表实现,通过映射关系存储对象即key-value,并且key值不能具有重复的对象,因为假如具有相同的对象我们在调用get方法的时候不知道得到那个对象所对应的值。又因为如果想要实现key不能够重复我们就需要遍历map中的key值找到对应的entry对象修改value值。这就代表着需要大量的损耗来进行相关的遍历。所以jdk采用数组+链表实现。我们将对象存储在链表数组中。将k...
2018-08-27 17:00:03
345
原创 LinkedList与自己动手写LinkedList
数组和ArryList都具有添加删除慢的缺点,要从数组或ArryList 中间删除或添加一个元素需要进行新的排列,要付出很大的代价,这就是为什么需要LinkedList的原因。在具有大量删除添加操作的集合中数组不再适合作为存储数据的对象,通常我们都会选择链表作为存储对象。在java语言中所有链表实际上都是双向的。自己动手写LinkedList先写节点类public class Node...
2018-08-27 10:44:16
380
原创 LIst与自己动手写ArryList实现类
List中常用的实现类有ArryList、LinkedList和Vector。Vector是线程安全的常用于接收数据库查询后返回数据,当然线程安全就代表速度慢效率低。而ArryList 是线程不安全的,并且其底层实现是采用数组实现的,所以查询快速但是添加,删除慢。LinkedList 是线程不安全的,其底层采用链表实现,所以查询慢但是添加删除块。自己手写ArryLIst类(简易版)。pub...
2018-08-26 21:36:39
433
原创 Collection容器
Collection是用来表示一组对象的集合接口。这个接口拥有两个重要的基本方法:add和iterator。add是用来向集合中添加元素的。如果添加元素确实改变了集合就返回true,如果集合没有发生变化就返回false。入如果试图在集合中添加一个对象,而这个对象在集合中已经存在那么添加请求就没有实效,因为集合中不允许存在重复的对象.iterator方法用于返回一个实现了iterator接口对象。可...
2018-08-26 20:04:19
247
原创 异常的分类和使用
java异常是java提供的用于处理程序中错误的一种机制。java是采用面向对象的方式来处理异常的,处理过程:抛出异常:在程序执行一个方法的时候,如果发生异常则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给JRE。捕获异常:JRE得到该异常后寻找相应的代码来处理该异常。JRE在方法的相应的调用栈中查找从生成异常的方法开始回溯,直到找到相应的异常处理代码为止。...
2018-08-24 21:13:05
263
原创 包装类和自动拆箱、装箱
java是一种面向对象的语言,但是并不是完全面向对象的语言,其保留了八种基本数据类型,基本数据类型总会比对象的运算速度快的多,但是在集合中我们需要传入的是对象而不是基本数据类型所以我们需要将八种基本数据类型包装成相关的类来创建相关的对象。其中int包装类为Integer,其他的数据类型都是首字母大写。Integer i=new Integer(1);Integer i2=new Integ...
2018-08-24 16:16:26
651
原创 String、StringBuffer和StringBuilder的区别和实现原理,==与equals的区别。
String是java中用的最频繁的类之一,其内部原理是通过char[]数组实现的。其实内部char[]是定义的常量 private final char value[]; public String() { this.value = "".value; }//默认是"";public String(String original) { th...
2018-08-24 12:09:08
2608
原创 内部类详解
java中我们把一个类放在另一个类内部定义,我们称这样的类为内部类。内部类分为成员内部类、局部内部类和匿名内部类。成员内部类包含静态内部类和非静态内部类。局部内部类定义在方法中,像是一局部变量。匿名内部类主要是接口和抽象类的继承类实例化(一般类继承也是可以的,注意匿名代表没有名字!!!)。以下是两种内部类的代码解析。成员内部类:1静态内部类,静态内部类就像是类中的静态成员变量,其引用实例化...
2018-08-24 10:40:57
126
原创 面向对象的三大特性及其内存初分析
面型对象有三大特性即:继承、封装和多态。继承:类是对对象的一种抽象,继承是对某一批类的抽象,从而实现更好的建模。继承的使用很好的提高了代码的复用性。子类继承父类,可以得到父类的全部属性和方法(除了父类构造器方法)。在java中只有单继承,在之前c++具有多继承,但是造成了代码的复杂性,在java中只允许单继承。但是不表不可以实现多继承(多继承的实现使用接口即可)。在java中所有类(没有父类的...
2018-08-23 20:40:46
234
原创 面向对象的概念和java中创建对象过程内存初分析
说起面向对象就不得不谈面向过程,以c语言为例,c语言就是一种面向过程的一种高级语言。面向过程的程序是由方法来组织。这就造成了开发程序需要写很多的方法。各种方法的相互调用、顺序执行和定义大量的变量,需要开发人员投入很大的精力寻找方法以及变量,造成了开发难度大开发时间长,软件开发到此遇到了瓶颈,这也就是上世纪80年代的软件危机。虽然结构体可以解决变量的问题。但是方法的调用问题依旧没有解决。贝尔实验室发...
2018-08-22 08:51:18
503
原创 java中变量的命名规则和常量
java是一种强类型语言,每个变量都必须声明其类型;java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域;变量在使用之前必须对其声明,只有在变量声明以后,才能为其分配相应的长度存储单元。局部变量:方法或语句块内定义的变量 使用前必须先声明和初始化。实例变量*(成员变量)方法外部、类的内部定义的变量如果不自行初始化,他会自动初始化成该类型的默认初始值(...
2018-08-21 20:49:04
1924
原创 标识符和数据类型以及为什么float比long表示数据要大原理
标识符命名规则:标识符只能以字母、下划线、美元符开头。以字母、下划线。美元符数字组合。大小写敏感。不能是关键词。数据类型:java中虽然说没有相关的指针概念但是大多数数据都是使用的指针。java是在c的基础上面 包装。数据类型分为基本数据类型和引用数据类型。基本数据类型:1数值型 1.1整数型: byte(一个字节范围-128-127)、short(两...
2018-08-21 20:34:53
1329
原创 java第一个程序Holle Word
1新建文件夹(建议使用英文名字如helloword)2新进文本文档后缀名为.java(如HelloWord.java )(驼峰命名方式单词首字母大写潜规则。)3用记事本打开HelloWord.java文件,输入代码。4public class HelloWord{ public static void main(String[] ags){ ...
2018-08-21 10:11:27
1956
原创 java中jdk,jre,jvm的含义和环境变量的搭建
jdk:java devalopment kit (java开发工具)jre :java runtime environment (java运行时环境)jvm : java vritual machine (java虚拟机)jvm是一种规范。就是一个虚拟的用于执行bytecodes字节码的计算机。不同系统sun公司写了不同的虚拟机。所以我们编译后的字节码文件在不同的系统...
2018-08-21 09:38:54
182
原创 关于tomcat发布项目的四种方式
方法一: 用eclipse集成的tomcat发布,或者将项目文件中的webroot中文件复制粘贴,放置在tomcat中webapps中新建的文件(将来路径名)里。使用eclipse时项目文件没有webroot只有webcontent的需要将webcontent在eclipse中修改设置为webroot,或者将webcontent中的除META-INF以及build文件中classes文...
2018-07-11 10:05:46
6146
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人