java
文章平均质量分 90
caiwenfeng_for_23
这个作者很懒,什么都没留下…
展开
-
HashMap知识点简记
1、计算机擅长移位操作,不擅长加减乘除2、2的整数倍,不会造成内存碎片3、源码分析hashmap的默认初始长度是16hashmap的数据结构包括 初始数组、链表、红黑数数组容量为2的整数倍:提高运算速度、增加散列度,降低冲突、减少内存碎片插入位置:pos=key%size计算位置hash函数与pos定位:hashchode的高16位与低16位进行异或求模,增加散列度,降低冲突插入冲突:通过单链表解决冲突,如果链表过长(TREEIFY_THRESHOLD=8),进行单链表和红黑树的转换以提原创 2020-05-31 22:25:48 · 437 阅读 · 0 评论 -
数值类型的注意问题(代码形式)
public class HelloWord{ public static void main(String[] args){ System.out.println("HelloWord"); byte a =36; /* 系统不会把一个超过int型整数范围的数当做long类型处理,即使没有超过int型也不会自动当做long型,而是int型数字; */ //lon原创 2012-11-26 16:24:36 · 1139 阅读 · 0 评论 -
缓冲器(Buffer)的细节
从上面继承图层来看,了解Buffer很重要。 Buffer=数据+四个索引 正是四个索引才是的数据可以高效访问,这四个索引是:mark(标记),position(位置),limit(界限),capacity(容量)。 不变式 标记、位置、限制和容量值遵守以下不变式: 0 标记 位置 限制 容量 以下是设置和复位索引以及查询的方法:原创 2012-12-31 10:10:25 · 3326 阅读 · 0 评论 -
NIO服务器
其实这个是我自己对NIO做服务器时的一点见解,要是不太对,望赐教,这个图和数据通信的时分复用图差不多吧! package org.com.mayi;import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.nio.Byt原创 2012-12-31 00:25:59 · 2162 阅读 · 0 评论 -
编译型语言和解释型语言的区别和优劣(基础知识了解)
编译型的语言: 专门的编译器, 针对特定的平台(操作系统)“翻译”成机器码(包括机器指令和操作数),并包装成该平台可执行程序的格式;如需要其他的代码,要进行链接。 优点: 可脱离开发环境,特定的平台上独立运行,运行效率较高。缺点:无法移植;需要移植,要源代码重新编译。 代表语言:C C++ 解释型语言:专门的解释原创 2012-11-26 16:10:01 · 8636 阅读 · 2 评论 -
java集合点
java集合体系图: Iterator:对集合进行迭代的迭代器。 方法: hasNet()如果仍有元素可以迭代,则返回true。 next() 返回迭代的下一个元素。原创 2012-12-02 18:49:22 · 2077 阅读 · 0 评论 -
static中不能调用类中非static方法
代码如下:public class StaticTest{ public void sayHello(){ System.out.println("Hello"); } public static void Test(){ sayHello();//调用非static方法。这句话其实就是相当于 this.say(); this是指调用被方法的对象 S原创 2012-11-26 16:49:46 · 1370 阅读 · 0 评论 -
JAVA_IO简记
IO分两种流:字节流 InputStream OutputStream 字符流 Reader Writer 他们都是抽象类 具体实现 :字节流 FileInputStream FileOutputStream 字符流 FileReader FileWriter 字节流转换成字符流可以用 InputSteamReader Out原创 2012-12-27 22:22:17 · 1114 阅读 · 0 评论 -
http_get
import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;public原创 2012-12-21 15:10:38 · 2061 阅读 · 0 评论 -
java异常
异常结构:try { } catch (Exception e) { // TODO: handle exception }finally{ } 异常机制:程序出现错误后程序如何处理,控制权交给异常处理器。(异常都是在运行中的,不是编译时的) 异常处理流程:遇到错误,方法立即结束,同时抛出一个异常对象。调用该方法原创 2012-12-03 19:36:29 · 901 阅读 · 0 评论 -
java 泛型
Map类允许您向一个Map添加任意类的对象,即使最常见的情况是在给定映射(map)中保存某个特定类型(比如String)的对象。因为Map.get()被定义为返回Object,所以一般必须将Map.get()的结果强制类型转换为期望的类型,如下面的代码所示:Map m = new HashMap();m.put("key","blarg");String s = (St原创 2012-12-03 16:41:18 · 1158 阅读 · 0 评论 -
使用数组实现缓存例子
public class CacheFinal{ private final String name; private static CacheFinal[] cache = new CacheFinal[10]; //记录缓存实例在缓存的位置,cache[p-1]是最新的缓存实例 private static int p =0; public CacheFinal(St原创 2012-11-26 20:57:35 · 3710 阅读 · 0 评论 -
Http_Post
import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.UnsupportedEncodingException;import java.net.HttpURLConn原创 2012-12-21 15:13:17 · 2428 阅读 · 0 评论 -
闭包和回调
闭包: Closure 是一种能被调用的对象,它保存了创建它的作用域的信息。java并不能显式地支持闭包,但对于非静态内部类,它不仅记录了其外部类的详细信息,还保留了一个创建非静态内部类对象的引用,并且可以直接调用外部类的private成员,因此可以把非静态内部类当成面向对象领域的闭包。回调: 就是允许客户类通过内部类引用来调用其外部类的方法。案原创 2012-11-27 16:12:03 · 3730 阅读 · 2 评论 -
内部类
外部类:包含内部类的类。内部类: 把一个类放在另一个类的内部。 形式: public class 外部类{【修饰符】【访问控制符】class 【类名】{ }}作用: 1。内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。 2。内部类成员可以直接访问外部类的私有数据,因为内部原创 2012-11-27 12:50:06 · 1173 阅读 · 0 评论 -
不可变类
Name类:public class Name{ public String FirstName; public String LastName; public Name(){ } public Name(String first,String last){ this.FirstName = first; this.LastName =la原创 2012-11-26 19:57:42 · 1021 阅读 · 0 评论 -
this关键字
THIS: public class TestThis{ public void Test(){}Public void TestForThis(){this.Test();//this可以代表任何对象,在一个方法中,它所代表的对象是不确定的,但它的类是确定的,它所代表的对象只能是当前类;只有在这个方法被哪个对象(类的实例)所调用的时候,this才能确定代表了原创 2012-11-26 16:30:59 · 722 阅读 · 0 评论 -
eclipse建立Dynamic Web Project 时没有web.xml
新建的web Project没有web.xml,网上查查原来是这样的。。。。解决方案:建立web项目时,建到第三个下一步时,将 Generate web.xml deployment descriptor 这个选项选中即可。原创 2012-12-19 18:30:24 · 8680 阅读 · 1 评论 -
window和ubuntu下的java环境配置
window下的java环境配置:1、下载jdk(官网:http://www.oracle.com/technetwork/java/javase/downloads/index.html)2、安装jdk3、配置环境变量:右击“我的电脑”-->"高级"-->"环境变量"1)在系统变量里新建JAVA_HOME变量,变量值为:C:\Program Files\Java\jd原创 2012-11-22 22:57:26 · 1304 阅读 · 0 评论 -
Java源码阅读的真实体会
源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。 说到技术基础,我打个比方吧,如果你从来没有学过Java,或是任何一门编程语言如C++,一开始去啃《Core Java》,你是很难从中吸收到营养的,特别是《深入Java虚拟机》这类书,别人觉得好,未必适合现在的你。虽然Tomcat的源码很漂亮,但我绝不建议你一开始就读它。我文中会专门谈到这个,暂时不展开。 强烈的求知欲转载 2013-01-14 09:34:47 · 1053 阅读 · 0 评论 -
Eclipse反编译工具Jad及插件JadClipse配置
Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的。不过因为是控制台运行,所以用起来不太方便。不过幸好有一个eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码。下面介绍一下配置: A.下载JadClipse,http://jadclipse.sourceforge.net/wik转载 2013-01-25 01:39:18 · 1317 阅读 · 0 评论 -
浅谈继承和组合
面向对象编程讲究的是代码复用,继承和组合都是代码复用的有效方法。组合是将其他类的对象作为成员使用,继承是子类可以使用父类的成员方法。引用一个生动的比方:继承是说“我父亲在家里给我帮了很大的忙”,组合是说“我请了个老头在我家里干活”。继承 在继承结构中,父类的内部细节对于子类是可见的。所以我们通常也可以说通过继承的代码复用是一种“白盒式代码复用”。优点:简单易用,使用语法关转载 2012-12-31 13:43:26 · 1680 阅读 · 0 评论 -
fileupload上传文件
FileUpload 是 Apache commons下面的一个子项目,用来实现Java环境下面的文件上传功能,commons- fileupload-1.2.1:http://l7.yunpan.cn/lk/Qv7QNNd7KJjFM依赖于commons-io-1.4:http://l7.yunpan.cn/lk/Qv7Qpp3qapF9A demo参考package c原创 2013-02-03 15:34:51 · 1757 阅读 · 0 评论 -
如何卸载Eclipse中已安装的插件
点击菜单“Help”,“Install New Software...”,在弹出的对话框中选择那个非常隐蔽的“already installed”链接: 然后就显示已经安装的插件:现在就可以选择要卸载的插件,然后点“Uninstall...”把它卸载掉。原创 2013-02-22 08:38:21 · 5990 阅读 · 0 评论 -
jtds连接sqlserver2008
JTDS是一个开放源代码的100%纯Java的,用于JDBC 3.0驱动Microsoft SQL Server 和Sybase(10 ,11 ,12 ,15 版本)的驱动程序 。 JTDS是基于freetds的,并且是目前最快的生产准备JDBC驱动程序为SQL Server和Sybase 。JTDS完全与JDBC 3.0兼容,支持只向前的,和可滚动/可更新的结果集(ResultSets)原创 2013-03-08 14:09:24 · 28011 阅读 · 3 评论 -
成为Java软件架构师必看的东西
一、 Java编程入门类对于没有Java编程经验的程序员要入门,随便读什么入门书籍都一样,这个阶段需要你快速的掌握Java基础语法和基本用法,宗旨就是“囫囵吞枣不求甚解”,先对Java熟悉起来再说。用很短的时间快速过一遍Java语法,连懵带猜多写写代码,要“知其然”。现在很多IT职业培训机构为使学员学得扎实,不畏难易接受,如北大青鸟从零基础开始教学,让学员从最基础的开始学起,慢慢深化。1、转载 2013-04-02 07:30:51 · 1345 阅读 · 0 评论 -
使用JDBC连接SQL Server 2005
设置SQL Server服务器我使用的是SQL Server 2005标准版SP2,这些都默认即可,一般不用配置。如果需要配置端口请看下面。1、“开始”→“程序”→“Microsoft SQL Server 2005”→“配置工具”→“SQL Server 配置管理器”→“SQL Server 2005 网络配置”→“MSSQLSERVER 的协议”2、如果“TCP/IP”没有转载 2013-03-21 10:13:52 · 1651 阅读 · 0 评论 -
javax.xml.namespace.QName
1.来历:qname是qualified name 的简写2.构成:由名字空间(namespace),前缀(prefix)以及冒号(:),还有一个元素名称构成3.举例: xmlns="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" version="1.0"> xsl是名字空原创 2013-03-25 11:44:16 · 8444 阅读 · 0 评论 -
MyEclipse中解决“Save could not be completed”问题!
在MyEclipse下编程时,保存的时候,如果出现如下图所示错误:首先说明MyEclipse的默认编译语言是"ISO-8859-1",这个语言不支持中文,所以如果编辑的程序含有中文而且编译语言是"ISO-8859-1“则就会出现这个问题!解决方很简单,只要把默认编译语言改成支持中文的就OK了。改法如下:window --> Preferences --> General -->转载 2013-04-23 15:03:28 · 4447 阅读 · 0 评论 -
异常org.mybatis.spring.transaction.SpringManagedTransactionFactory.newTransaction
mybatis-3.1.1 +spring-3.2.0.M1+mybatis-spring-1.0.0 集成,应用spring test测试时产生如下错误:java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransactionFactory.newTransaction(Ljava/sql/C转载 2013-05-14 09:35:19 · 2277 阅读 · 0 评论 -
Mybatis 分页查询
Select *,(select count(*) from Materiel_Info)as total FROM ( select ROW_NUMBER()Over(order by MaterielCode desc) as rowId,* from Materiel_Info) as mytable rowId between #{start} and #{原创 2013-06-22 13:53:55 · 7336 阅读 · 0 评论 -
eclipse启动tomcat无法访问
症状:tomcat在eclipse里面能正常启动,而在浏览器中访问http://localhost:8080/不能访问,且报404错误。同时其他项目页面也不能访问。关闭eclipse里面的tomcat,在tomcat安装目录下双击startup.bat手动启动tomcat服务器。访问htt://localhost:8080/能正常访问tomcat管理页面。症状原因: e转载 2013-06-25 10:12:20 · 1296 阅读 · 0 评论 -
POI读取word文件的表格数据
poi插件 读取word表格数据,项目需要,做了个简单测试原创 2013-07-25 10:12:53 · 11470 阅读 · 0 评论 -
win7 jar文件打不开解决的办法
第一种方法: 步骤一:新建一个文本文档,输入内容"javaw -jar %1 ",并保存为批处理文件,例如"run.bat "。 步骤二:右键点击.jar格式的文件 ,选择其打开方式 为上面建的run.bat 。 此时jar就能运行了.... 第二种方法: 第一种方法可以解决问题,但是有些不足之处,下面介绍一种更好的方法转载 2013-08-05 00:02:15 · 15571 阅读 · 6 评论 -
DTO--数据传输对象
层间数据传输的过程就是服务的执行者将数据返回给服务的调用者的过程。在非分布式系统中由于有类似Open session in view这样的“怪胎解决方案”的存在,所以层间数据传输的问题并没有充分暴露出来,但是在分布式系统中我们就能清楚地意识到层间数据传输的问题,从而能够更合理的进行设计。为了暴露更多问题,本章讨论的层间数据传输假定的场景是“服务器将执行的数据结果如何传递给远程客户端”,尽管在实际场转载 2013-10-18 11:13:47 · 30652 阅读 · 4 评论 -
对象的串行化(Serialization)
一、串行化的概念和目的 1.什么是串行化 对象的寿命通常随着生成该对象的程序的终止而终止。有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复。我们把对象的这种能记录自己的状态以便将来再生的能力。叫作对象的持续性(persistence)。对象通过写出描述自己状态的数值来记录自己 ,这个过程叫对象的串行化(Serialization) 。串行化原创 2013-10-18 11:42:49 · 4430 阅读 · 0 评论 -
图解EJB的体系结构
本文对EJB的体系结构作一个全面介绍:EJB在J2EE体系结构中的位置EJB的环境构成EJB的资源配置EJB的种类EJB组件的构造EJB的调用过程EJB组件的生命周期EJB是Enterprise JavaBeans的简称。本文对EJB技术的体系结构作一个全面深入地介绍。EJB在J2EE体系结构中的位置视图层或表现层:提供用户界面;接收用户输入;数据输出。WEB应用的情况,J转载 2013-10-18 10:01:33 · 1730 阅读 · 1 评论 -
java中char和byte的转换
首先,byte[]是字节数组类型,和int[]类似,只是一个是字节型的,一个是整型的;char是UNICOEDE字符,为16位的整数;String是个类,一般用来表示字符串的;hello.getBytes()意思就是把hello这个字符串转化为字节流(byte型);一般前面加个byte[]型的变量,就是把转化后的字节流放到这个变量里,如下:byte[] bt=hello.getBy转载 2013-11-04 10:42:38 · 7123 阅读 · 0 评论 -
获取前一天,后一天,后两天,三天的日期
后n天日期: SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); Calendar claendar=Calendar.getInstance(); for(int i=0;i<10;i++){ claendar.add(Calendar.DATE, i); System.out.println(sdf.for原创 2013-11-22 11:45:30 · 3910 阅读 · 0 评论 -
10个调试和排错的小建议
在空白的文本编辑器里打开一个崭新的文本,没有一行代码,出现在眼前的是一个充满了无限可能和希望的项目。可是,当数千行的代码写完之后,整个项目因为bug的出现而被压垮了,更别说添加什么新功能了...这也许是对程序员的最大打击,在饱满的热情上浇了一盆冷水。其实,最好的软件程序员当然知道怎样去发现并修复这些bug,在刚开始编程的时候就通过软件工程的最好方法来降低bug的出现概率。转载 2013-11-13 14:51:00 · 1311 阅读 · 0 评论