随笔分类 -  Java

摘要:数组是非常基础的数据结构。 特点: 连续的内存空间 相同的数据类型 优缺点: 支持随机访问 插入与删除成本较高 对于Java来说,平时可以使用ArrayList代替数组,因为其提供了丰富的API,支持自动扩容。缺点是不支持基础类型。 阅读全文
posted @ 2020-06-10 11:01 hnrainll 阅读(253) 评论(0) 推荐(0)
摘要:class文件是java编译后的文件类型。其代表一个类,其有专门的存储格式。其中会存放数据也会存放方法,而所谓的方法存放就是将方法中的调用都转换成java字节码指令。所方法调用从机器的角度看就是对于寄存器中的数据和CPU之间的计算与存取。 ​ Java在编译时会将方法编译为Java字节码指令,并将字 阅读全文
posted @ 2020-06-04 10:31 hnrainll 阅读(537) 评论(0) 推荐(0)
摘要:数据结构与算法是天生一对。 BlockingQueue叫做阻塞队列,在Java线程池相关的实现中有广泛的使用。 BlockingQueue实现的功能如下: 当队列为空时,往队列中读数据将被阻塞。 当队列满时,往队列中写数据将被阻塞。 在juc中BlockingQueue主要实现有 ArrayBloc 阅读全文
posted @ 2020-06-01 14:04 hnrainll 阅读(339) 评论(0) 推荐(0)
摘要:FutureTask实现的功能 它的功能就像他继承的接口一样:Runnable与Future。他实现了一套机制将两者连接起来。 Runnable主要方法是run(),用于执行一些程序。 Future主要用两个功能:get和cancel。 FutureTask就是将他们两者联系起来。即run()运行完 阅读全文
posted @ 2020-05-27 15:23 hnrainll 阅读(957) 评论(0) 推荐(0)
摘要:Java 注释类之常用元注解自定义Java注释类时,我们使用方式如下:@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.METHOD)class @interface Author{ publicString name(); publicString company();}这次我们重点讨论修饰注解的注解,也就是我们说的元注解。@Retention注解@Retention可以用来修饰注解,是注解的注解,称为元注解。Retention注解有一个属性value,是RetentionPolicy类型的,Enum RetentionPoli.. 阅读全文
posted @ 2014-01-15 14:05 hnrainll 阅读(5643) 评论(0) 推荐(0)
摘要:一、概念 Annontation是Java5开始引入的新特征。中文名称一般叫注解。它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类、方法、成员变量等)进行关联。 更通俗的意思是为程序的元素(类、方法、成员变量)加上更直观更明了的说明,这些说明信息是与程序的业务逻辑无关,并且是供指定的工具或框架使用的。Annontation像一种修饰符一样,应用于包、类型、构造方法、方法、成员变量、参数及本地变量的声明语句中。二、原理 Annotation其实是一种接口。通过Java的反射机制相关的API来访问annotation信息。相关类(框架或工具中的类... 阅读全文
posted @ 2014-01-15 12:15 hnrainll 阅读(2271) 评论(0) 推荐(0)
摘要:目录 Java垃圾回收概况Java内存区域Java对象的访问方式Java内存分配机制Java GC机制垃圾收集器 Java垃圾回收概况 Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代 码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对 JVM(Java Virtual Machine)中的内存进行标记,并确定哪些内存需要回收,根据一定的回收策略,自动的回收内存,永不停息(... 阅读全文
posted @ 2013-11-06 11:03 hnrainll 阅读(97805) 评论(9) 推荐(46)
摘要:Set,List,Map,Vector,ArrayList的区别JAVA的容器---List,Map,SetCollection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMapCollection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些 Collection允许相同的元素而另一些不行。一些能排序而另一些不行。Java SDK不提供直接继承自Collection的类,Java . 阅读全文
posted @ 2013-04-08 08:46 hnrainll 阅读(9765) 评论(0) 推荐(1)
摘要:java mysql 数据类型对照类型名称显示长度数据库类型JAVA类型JDBC类型索引(int)描述VARCHARL+NVARCHARjava.lang.String12CHARNCHARjava.lang.String1BLOBL+NBLOBjava.lang.byte[]-4TEXT65535VARCHARjava.lang.String-1INTEGER4INTEGER UNSIGNEDjava.lang.Long4TINYINT3TINYINT UNSIGNEDjava.lang.Integer-6SMALLINT5SMALLINT UNSIGNEDjava.lang.Integer 阅读全文
posted @ 2013-02-20 13:15 hnrainll 阅读(538) 评论(0) 推荐(1)
摘要:J2EE 开发人员使用数据访问对象(Data Access Object DAO)设计模式,以便将低级别的数据访问逻辑与高级别的业务逻辑分离。实现 DAO 模式涉及比编写数据访问代码更多的内容。在本文中,Java 开发人员 Sean C. Sullivan 讨论了 DAO 编程中三个常常被忽略的方面:事务界定、异常处理和日志记录。图 1 显示了应用程序和数据源之间的关系:图 1. 应用程序和数据源在整个应用程序中使用数据访问对象(DAO)使我们可以将底层数据访问逻辑与业务逻辑分离开来。我们构建了为每一个数据源提供 CRUD (创建、读取、更新、删除)操作的 DAO 类。在本文中,我将为您介绍构 阅读全文
posted @ 2013-01-15 16:00 hnrainll 阅读(8414) 评论(0) 推荐(1)
摘要:一、信息系统的开发架构客户层-------显示层-------业务层---------数据层---------数据库1.客户层:客户层就是客户端,简单的来说就是浏览器。2.显示层:JSP/Servlet,用于给浏览器显示。3.业务层:对于数据层的原子操作进行整合。4.数据层:对于数据库进行的原子操作,增加、删除等;二、DAO(Data Access Object)介绍DAO应用在数据层那块,用于访问数据库,对数据库进行操作的类。三、DAO设计模式的结构DAO设计模式一般分为几个类:1.VO(Value Object):一个用于存放网页的一行数据即一条记录的类,比如网页要显示一个用户的信息,则这 阅读全文
posted @ 2013-01-15 15:59 hnrainll 阅读(3379) 评论(0) 推荐(0)
摘要:package test;import java.sql.*;public class JdbcDemo { /** * 加载驱动 * */ static { try { Class.forName("com.mysql.jdbc.Driver"); } catch (Exception e) { e.printStackTrace(); } } /** * 获取数据库连接 * */ public static Connection getConn... 阅读全文
posted @ 2013-01-14 16:03 hnrainll 阅读(3099) 评论(0) 推荐(0)
摘要:import java.io.InputStream;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.util.EntityUtils;/** * * FileName HttpDemo.java <br /> * @author wenhao < 阅读全文
posted @ 2013-01-10 20:49 hnrainll 阅读(499) 评论(0) 推荐(0)
摘要:一、进程和线程的基础知识1、进程和线程的概念进程:运行中的应用程序称为进程,拥有系统资源(cpu、内存)线程:进程中的一段代码,一个进程中可以有多段代码。本身不拥有资源(共享所在进程的资源)在java中,程序入口被自动创建为主线程,在主线程中可以创建多个子线程。区别:1、是否占有资源问题2、创建或撤销一个进程所需要的开销比创建或撤销一个线程所需要的开销大。3、进程为重量级组件,线程为轻量级组件多进程:在操作系统中能同时运行多个任务(程序)多线程:在同一应用程序中有多个功能流同时执行2、线程的主要特点①、不能以一个文件名的方式独立存在在磁盘中;②、不能单独执行,只有在进程启动后才可启动;③、线程 阅读全文
posted @ 2013-01-09 11:53 hnrainll 阅读(12624) 评论(1) 推荐(2)
摘要:import java.nio.charset.Charset;import java.util.Iterator;import java.util.Set;public class JavaCharSet{ public static void main(String[] arg){ Set<String> charsetNames = Charset.availableCharsets().keySet(); System.out.println("---The Number of jdk1.6's charset is " + charsetNa. 阅读全文
posted @ 2013-01-08 10:47 hnrainll 阅读(3123) 评论(0) 推荐(0)
摘要:刚开始学习java的时候真的很难理解反射到底是个什么东西一些书籍,哪怕是很经典的书籍都解释的让人感觉懵懵的,或许的确是我太笨况且,网上说在将来学习框架的时候需要经常应用到反射机制,这样一来总让人心里有些不安就方才偶然又把讲解反射的章节和视频看了一点,觉得能理解一些了现在决定一鼓作气,边看边写,顺便把一些主要的内容和操作都记载到这里我想,对于我这么一个笨笨的人来说,学习的最好方法也许就是不断重复遇到不懂的知识就停下来把以往的重新学一遍,虽然浪费了很多时间,但对我也有些效果我的理解是:所谓反射,就是根据一个已经实例化了的对象来还原类的完整信息至少对我而言,我认为它带给我的好处是,让我从下往上的又了 阅读全文
posted @ 2012-12-25 15:56 hnrainll 阅读(910) 评论(0) 推荐(1)
摘要:import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Set;import org.junit.Test;//Map集合取数据的四种方法public class MapFetch { // 第一种方法(传统方法) @Test public void funOne() { Map map = new HashMap(); ... 阅读全文
posted @ 2012-12-17 20:53 hnrainll 阅读(2287) 评论(0) 推荐(0)
摘要:jdk1.4容器类关系图虚线框表示接口。实线框表示实体类。粗线框表示最常用的实体类。点线的箭头表示实现了这个接口。实线箭头表示类可以制造箭头所指的那个类的对象。容器类持有对象方式1, Collection:只允许每个位置上放一个对象。它包括“以一定顺序持有一组对象”的List,以及“只能允许添加不重复对象”的Set。你可以用add()方法向Collection对象中加元素。2, Map:一组以“键-值”(key-value)的形式出现的pair,Map也不接受重复的key值。你可以用put()方法往Map里面加元素。Collection 和 Collections的区别Collections是 阅读全文
posted @ 2012-12-17 10:29 hnrainll 阅读(3857) 评论(0) 推荐(0)
摘要:本文是由敏捷宣言签署人之一、《Clean Code(代码整洁之道)》一书的作者Robert C. Martin为他的《Applying Principles and Patterns》这本书搜集整理而来。单一责任原则(SRP)只有一个理由去修改一个类。例如,如果一个业务规则的改变会导致这个类的修改,那么,数据库、界面、报表格式或系统任何其它的部分的改变都不该迫使这个类做修改。http://davidhayden.com/blog/dave/archive/2005/05/29/1066.aspxhttp://c2.com/cgi/wiki?SingleResponsibilityPrincip 阅读全文
posted @ 2012-11-29 10:57 hnrainll 阅读(483) 评论(0) 推荐(0)
摘要:import java.net.*;public class NetDemo { public static void main(String[] args) throws Exception{ String str = "172.20.223.120"; String[] ipStr = str.split("\\."); byte[] ipBuf = new byte[4]; for(int i = 0; i < 4; i++){ ipBuf[i] = (byte)(Integer.parseInt(ipS... 阅读全文
posted @ 2012-10-29 12:01 hnrainll 阅读(10003) 评论(0) 推荐(0)