Java学习笔记
文章平均质量分 84
terrylmay
一个技术很差的技术宅
展开
-
JDBC操纵
数据库访问方式:Oracle//通过反射机制来找到驱动程序Class.forName("oracle.jdbc.driver.OracleDriver");//通过驱动管理器来进行连接连接的格式url为jdbc:oracle:@thin:localhost:1521:orcl;//首先jdbc为访问数据库的方式是通过jdbc的方式访问的.//要访问的数据库为Oracle//原创 2013-07-11 15:09:45 · 686 阅读 · 0 评论 -
JVM 关于垃圾回收一个有趣的问题
大家都知道,垃圾回收机制是jvm在后台的buqueding原创 2014-04-22 17:48:06 · 901 阅读 · 0 评论 -
关于字符串中是否包含另一个字符串的实现
对于这样的字符串HelloWd 是否在Hello World中原创 2014-05-15 09:48:17 · 1407 阅读 · 0 评论 -
关于Http文件上传分析与实现
1.需求分析由于最近看到论坛上有个人发表原创 2014-05-15 15:03:09 · 1018 阅读 · 0 评论 -
Java中集合类学习笔记一---Vector
一、学习背景二、原创 2014-05-20 16:56:43 · 937 阅读 · 0 评论 -
正则表达式详解
目录正则表达式介绍匹配模式字符子集行结束符分组和引用Unicode支持正则表达式语法参考字符逻辑操作符向后引用边界元字符重复指示符字符子集预定义子集(元字符)扩展子集(元字符)扩展中文子集(元字符)POSIX字符子集(只适用于ASCII)Unicode块和分类替换表达式替换表达式特殊字符自定义替换表匹配模式转载 2014-04-29 09:41:23 · 2842 阅读 · 0 评论 -
java集合类学习笔记---ArrayList
相信大家对ArrayList都是比较熟悉的.ArrayList也是在ruanjian原创 2014-05-22 17:35:29 · 781 阅读 · 0 评论 -
正则表达式中问号的用法
1、需求背景由于最近工作需要,要从网页链接中找到原创 2014-05-28 11:33:34 · 7790 阅读 · 0 评论 -
中缀表达式转后缀表达式思想
这个思想对于算数表达式qiu'zhi中缀表达式到后缀表达式的转换 要把表达式从中缀表达式的形式转换成用后缀表示法表示的等价表达式,必须了解操作符的优先级和结合性。优先级或者说操作符的强度决定求值顺序;优先级高 的操作符比优先级低的操作符先求值。 如果所有操作符优先级一样,那么求值顺序就取决于它们的结合性。操作符的结合性定义了相同优先级操作符组合的顺序(从右至左或从左至右)。 转换过原创 2014-11-19 23:59:28 · 2357 阅读 · 0 评论 -
关于中缀表达式转后缀表达式 然后求值问题的实现
最近上一篇说到了关于算术表达式求值问题,上面已经大致有了si'lu原创 2014-11-23 22:50:50 · 881 阅读 · 0 评论 -
java IO相关API探索之Closeable和InputStream接口
import java.io.IOException;/** * A {@code Closeable} is a source or destination of data that can be closed. * The close method is invoked to release resources that the object is * holding (such a原创 2014-12-01 22:01:46 · 2014 阅读 · 0 评论 -
java IO相关API探索之FileInputStream类
前面两篇文章看到了接口和抽象类.基本上没有什么实现,除了skip(long n) 以及read(),readBytes(b[]),read(b, off, len)其他的基本上什么都没说到,今天我终于看到了一些具体的实现.除了那些接口之外的一些实现.可以说文件流的第一层封装应该是FileInputStream这个层面上的封装了。下面看一下这里面主要实现了哪些方法,以及如何实现的。首先,类定义自原创 2014-12-02 22:49:56 · 1487 阅读 · 0 评论 -
java IO相关API探索之FileChannel类
昨天看到了FileInputStream类的内部实现,里面除了继承自InputStream类外,还多加了一个FileChannel的方法,通过getChannel()方法获取到文件的通道,今天看一下关于这个FileChannel到底做什么操作,它比FileInputStream有什么强大的地方?以及它的内部实现具体是怎样的。原创 2014-12-03 22:42:43 · 4336 阅读 · 0 评论 -
java IO相关API探索之Buffer类
FileChannel类中直接通信的就是Buffer,Buffer是通道和文件之间的桥梁.大概数据交互是这样的,FileChannel可以写数据到buffer中,同时另外一个输出FileChannel也可以从buffer中读取数据。buffer中有两种模式:读模式和写模式,读模式会从position位置开始读取到limit字节;写模式同样也会从position写到limit,但是写模式原创 2014-12-04 22:57:53 · 865 阅读 · 0 评论 -
java IO相关API探索之ByteBuffer
上篇主要看到了关于buffer的结构的定义,搞来搞去还是那4个变量在起作用,所有的方法都是围绕了capacity>=limit>=position>=mark来起作用的。所以了解了这几个值的意义就相当于明白了buffer的工作原理了.这篇主要是看关于ByteBuffer的实现。虽然本篇的题目是java IO探索,其实前面介绍了好多,除了FileInputStream之外,其他的好像都是NIO的原创 2014-12-08 22:54:28 · 1862 阅读 · 0 评论 -
android 客户端与web服务器端通信
最近要做一个项目,所以进行了一个小测试.在网上看到的很多Demo,全部是在onCreate()方法中进行连接以及请求服务器端的数据并且在控件中显示的,但是请教了别人之后才知道这种方法现在已经不能用了,必须在主线程中开启一个线程,并且使用Handler这个对象来实现数据的异步请求.然后当请求响应完成之后才会在界面中更新数据,这应该就是android中的异步请求机制吧..下面是整个服务器端以及客户端的原创 2014-03-14 14:43:20 · 8898 阅读 · 4 评论 -
在java中使用xpath来解析xml文件
DocumentBuilderFactory domFactory = DocumentBuilderFactory .newInstance(); DocumentBuilder builder = domFactory.newDocumentBuilder(); domFactory.setNamespaceAware(false);//这句话可有可无原创 2013-12-05 11:58:53 · 1342 阅读 · 0 评论 -
Eclipse中遇到main方法不能运行 的情况
java.lang.UnsupportedClassVersionError: Bad version number in .class file造成这种过错是ni的支撑Tomcat运行的JDK版本与支撑application运行的JDK版本不一致导致的.把它们的JDK版本改成一致步骤如下:1.Window --> Preferences -->Java --> compiler中的comp翻译 2013-12-05 11:17:38 · 17794 阅读 · 0 评论 -
关于ajax验证用户名是否可用的信息
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>Insert title herefunction checkBookExists(){ var fname = document.getElementById("fileName"); if(fname转载 2013-07-17 18:33:02 · 666 阅读 · 0 评论 -
JVM---对象访问
对象访问会涉及到Java栈、Java堆、方法区这三个内存区域。如下面这句代码:[java] view plaincopyprint?Object objectRef = new Object(); 假设这句代码出现在方法体中,"Object objectRef” 这部分将会反映到Java栈的本地变量中,作为一个re转载 2013-07-18 11:49:07 · 835 阅读 · 0 评论 -
垃圾回收机制
跟踪收集器跟踪收集器采用的为集中式的管理方式,全局记录对象之间的引用状态,执行时从一些列GC Roots的对象做为起点,从这些节点向下开始进行搜索所有的引用链,当一个对象到GC Roots 没有任何引用链时,则证明此对象是不可用的。下图中,对象Object6、Object7、Object8虽然互相引用,但他们的GC Roots是不可到达的,所以它们将会被判定为是可回收的对象。转载 2013-07-18 11:50:37 · 608 阅读 · 0 评论 -
jvm参数查看
查看JVM各个参数值方式1. HotSpot vm中的各个globals.hpp文件 查看jvm初始的默认值及参数globals.hpp globals_extension.hpp c1_globals.hpp c1_globals_linux.hpp c1_globals_solaris.hpp c1_globals_sparc.hpp转载 2013-07-18 11:53:13 · 836 阅读 · 0 评论 -
JVM调优
JVM调优主要是针对内存管理方面的调优,包括控制各个代的大小,GC策略。由于GC开始垃圾回收时会挂起应用线程,严重影响了性能,调优的目是为了尽量降低GC所导致的应用线程暂停时间、 减少Full GC次数。代大小调优最关键参数:-Xms、 -Xmx 、-Xmn 、-XX:SurvivorRatio、-XX:MaxTenuringThreshold、-XX:PermSize、-XX转载 2013-07-18 11:56:52 · 684 阅读 · 0 评论 -
JVM 集成化工具JConsole
1.JConsole JConsole工具在JDK/bin目录下,启动JConsole后,将自动搜索本机运行的jvm进程,不需要jps命令来查询指定。双击其中一个jvm进程即可开始监控,也可使用“远程进程”来连接远程服务器。进入JConsole主界面,有“概述”、“内存”、“线程”、“类”、“VM摘要”和"Mbean"六个页签:转载 2013-07-18 11:55:14 · 830 阅读 · 0 评论 -
对象引用类型
无论是通过计数算法判断对象的引用数量,还是通过根搜索算法判断对象引用链是否可达,判定对象是否存活都与“引用”相关。引用主要分为 :强引用(Strong Reference)、软引用(Soft Reference)、弱引用(Weak Reference)、虚引用(PhantomReference) 四种,引用的强度依次骤减。强引用:就是指在代码之中普遍存在的,类似转载 2013-07-18 11:56:29 · 2301 阅读 · 0 评论 -
JVM模型
一:Java技术体系模块图二:JVM内存区域模型1.方法区也称"永久代” 、“非堆”, 它用于存储虚拟机加载的类信息、常量、静态变量、是各个线程共享的内存区域。默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小。转载 2013-07-18 11:48:08 · 760 阅读 · 0 评论 -
JVM垃圾回收器
HotSpot JVM收集器 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器Serial收集器是一个新生代收集器,单线程执行,使用复制算法。它在进行垃圾收集时,必须暂停其他所有的工作线程(用户线程)。是Jvm client模式下默认的新生转载 2013-07-18 11:51:35 · 1535 阅读 · 0 评论 -
对象内存分配
对象优先在Eden上分配大多数情况下,对象优先在新生代Eden区域中分配。当Eden内存区域没有足够的空间进行分配时,虚拟机将触发一次 Minor GC(新生代GC)。Minor GC期间虚拟机将Eden区域的对象移动到其中一块Survivor区域。大对象直接进入老年代所谓大对象是指需要大量连续空间的对象。虚拟机提供了一个XX:Pre转载 2013-07-18 11:52:29 · 747 阅读 · 0 评论 -
对线程安全的一些思考
最近对java的基础知识进行了一次回顾,可是在看到线程安全的时候始终感觉到自己现在理解的没有以前深刻了..所以现在记下来防止以后再忘记首先线程不用多说..要实现一个线程基本上有两种方式一种是继承Thread类..另外一种就是实现Runnable接口..当然或许还有人说可以实现Callable接口.当然,我也在其他书上看到过这种说法..不过还没自己去看..不过了解过java的应该知道实现Runn原创 2013-07-22 17:48:52 · 624 阅读 · 0 评论 -
jxl操作excel
网站上对它的特征有如下描述: ● 支持Excel 95-2000的所有版本● 生成Excel 2000标准格式● 支持字体、数字、日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,转载 2013-07-23 13:46:35 · 739 阅读 · 0 评论 -
魔鬼数组
public static void main(String[] args){ for(int x=11;x<100;x++){ for(int y = x; y < 100; y++)//这个循环防止从服计算 if(x * y 1000) //结果是4位整数才进行判断 pd(x,y); } } static void pd(int x,int y){翻译 2013-09-16 00:26:47 · 815 阅读 · 0 评论 -
jdk的环境配置..
1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;3. 选择“系统变量”中变量名为“Path”的转载 2013-11-12 10:27:11 · 854 阅读 · 0 评论 -
java实现HTml转化为Doc文档
import java.io.BufferedReader;import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileOutputStream;import java.io.FileReader;import org.apache.poi.poifs.filesystem.DirectoryEn转载 2013-12-10 11:03:43 · 7468 阅读 · 2 评论 -
java IO相关API探索之 AutoCloseable接口
从今天开始,要每天都坚持写一篇博客.每天都学习一点新知识,直到能够把java的API全部搞熟,搞透..量变引起质变,坚持下去总会有效果的.翻开jdk API,首先看到的是applet得API,因为只是在大学期间看过applet,其他时间就没看过了,所以这次就跳过applet部分,直接进入java的经常用到的部分.IO操作基本上在写任何程序的时候都会用到,包括servlet或者android以及原创 2014-11-30 23:17:17 · 3857 阅读 · 6 评论