
JAVA
teedry
软件开发
展开
-
Arrays实用功能
1、复制数组Arrays提供了静态方式System.arraycopy,例子如下:public class CopyArrays {public static void main(String[] args){int[] i = new int[5];int[] j = new int[15];//填充数组Arrays.fill(i, 10);Arrays.fill(j, 20);System.o...原创 2018-04-10 10:54:55 · 481 阅读 · 0 评论 -
Java中IO处理类介绍
1、Java IO 流 io是java中实现输入输出的基础,它可以很方便的完成数据的输入输出操作,Java把不同的输入输出抽象为流,通过流的方式允许Java程序使用相同的方式来访问不同的输入、输出。2、流的分类 输入流、输出流 A、输入流:只能从中读取数据,而不能向里面写数据 B、 输出流:只能向里面写数据,而不能读数据 可以这样理解,数据从内存到硬盘,通常认为是输出转载 2012-06-04 22:56:26 · 777 阅读 · 0 评论 -
java基础之一:java中的堆与堆栈(栈)
栈(stack):是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量.在java中,所有基本类型和引用类型都在栈中存储.栈中数据的生存空间一般在当前scopes内(就是由{...}括起来的区域).堆(heap):是一个可动态申请的内存空间(其记录空闲内存空间的链表由操作系统维护),C中的malloc语句所产生的内存空间就在堆中.在java中,所有使用new xxx原创 2012-04-23 21:39:41 · 553 阅读 · 0 评论 -
java基础二:类goto跳转
尽管goto仍然是java中的一个保留字,但并未使用它,java没有goto,但也能使用break和continue完成一些类似跳转的操作。直接上代码: public static void main(String[] args){ int i=0; outer : for(;i<10;i++){ if(i == 5){ break outer; } Sy原创 2012-04-23 22:39:31 · 1559 阅读 · 0 评论 -
sun.net.ftp.FtpClient 操作FTP服务器上的文件和目录
/*** 在当前目录下创建文件夹* @param dir* @return* @throws Exception*/private boolean createDir(String dir){ try{ ftpClient.ascii(); StringTokenizer s = new StringTokenizer(dir, "/"); //转载 2012-04-20 17:26:58 · 8197 阅读 · 0 评论 -
JAVA重写与重载的区别
Java的重写和重载机制Java的重写和重载是两种在Java中经常提到的两组概念,它们在各个方面都有着很大的不同。 重载每个类型成员都有一个唯一的签名。方法签名由方法名称和一个参数列表(方法的参数的顺序和类型)组成。只要签名不同,就可以在一种类型内定义具有相同名称转载 2011-08-14 22:27:43 · 4928 阅读 · 0 评论 -
JVM参数调优实例解析
JVM参数调优是个很头痛的问题,设置的不好,JVM不断执行Full GC,导致整个系统变得很慢,网站停滞时间能达10秒以上,这种情况如果没隔几分钟就来一次,自己都受不了。这种停滞在测试的时候看不出来,只有网站pv达到数十万/天的时候问题就暴露出来了。 要想配置好JVM参转载 2011-08-07 14:24:45 · 579 阅读 · 0 评论 -
查询文件中指定字符的记录
题:查找某个文件中出现指定字符ERROR的记录并打印出来本人写的如下,如有好的算法,请多多指教。package com.teedry.interview;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputS原创 2011-06-30 17:32:00 · 587 阅读 · 0 评论 -
输出当前目录及其所有子目录名称
前段时间去面试的题目,在这写下来:由于本人比较菜,大家有其它好的方法,不妨建议下package com.teedry.interview;import java.io.File;/** * * * 递归打印出指定路径下的目录及其子目录文件夹名称 * * @author ZENGZHANGHUA * @version 1.0 */publ原创 2011-06-30 17:20:00 · 1521 阅读 · 0 评论 -
统计指定字符出现的次数
大概题目是这样的,有数字12,33,2,65,10,4,45,79,78,90等数字,求统计各个数字出现的次数。 本人水平较菜,下面是我写的字符出现次数通用方法,如果有其它更好的算法,不妨提出来,谢谢。package com.teedry.interview;import java.util.HashMap;import java.util.Iterator;impor原创 2011-06-30 17:26:00 · 724 阅读 · 0 评论 -
HashMap、HashTable、ArrayList、LinkedList、Vector的区别
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要转载 2011-06-27 09:57:00 · 1153 阅读 · 0 评论 -
JAVA读取文件方式
1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName)转载 2011-06-21 16:59:00 · 374 阅读 · 0 评论 -
java中finally关键字的用处
在java中的finally关键一般与try一起使用,在程序进入try块之后,无论程序是因为异常而中止或其它方式返回终止的,finally块的内容一定会被执行,写个例子来说明下:package com.teedry.base;public class TryAndFinallyTest { public static void main(String[] args) throws原创 2012-06-16 13:21:51 · 9035 阅读 · 0 评论 -
Java数据类型和MySql数据类型对应表
Java数据类型和MySql数据类型对应表java mysql 数据类型对照类型名称显示长度数据库类型JAVA类型JDBC类型索引(int)描述 VARCHARL+NVARCHARjava.lang.String12 CHARNCHARjava.lang转载 2012-10-31 12:59:44 · 496 阅读 · 0 评论 -
servlet/filter/listener/interceptor区别与联系
下面从几个方面阐述一下题目中四个概念的区别与联系: 1、概念 2、生命周期 3、职责 4、执行过程 一、概念: 1、servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求转载 2013-03-15 17:59:18 · 786 阅读 · 0 评论 -
Solr操作的java工具类
/** * solr客户端操作基类,可以使用两种方式进行操作索引,第一种用普通javaBean,第二种使用有固定的solr注解字段javaBean * javaBean操作的字段必须在solr服务器定义,否则会报错 * */public class SolrBase { private static String solrURL = "http://localhost:8983/s...原创 2018-04-10 10:53:30 · 1178 阅读 · 0 评论 -
负载均衡方式及具体均衡算法
负载均衡1、负载均衡的几种实现方式 1)基于HTTP重定向负载均衡(响应码302) 浏览器发送请教到负载均衡服务器,服务器根据算法找到一台服务主机,然后在响应码中返回302及实际的IP地址,浏览器收到请教后进行目标ip重定位访问 优点:实现简单 缺点:浏览器需要交互两次才能得到结果,响应时间长,速度慢,一般原创 2016-08-31 23:56:16 · 1716 阅读 · 0 评论 -
JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足转载 2016-08-31 23:50:07 · 683 阅读 · 0 评论 -
synchronized方法和代码块的理解
熟悉 Java 的多线程的一般都知道会有数据不一致的情况发生,比如两个线程在操作同一个类变量时,而保护数据不至于错乱的办法就是让方法同步或者代码块同步。同步时非原子操作就得同步,比如一个简单的 1+1 运算也该同步,以保证一个代码块或方法成为一个原子操作。对于给在多线程环境中可能会造成数据破坏的方法,做法有两种,以及一些疑问1. 当一个线程访问了对象的synchronized或原创 2016-03-17 00:00:03 · 1625 阅读 · 0 评论 -
solr全文搜索搭建
因为最近项目要用到全文搜索,然后挑选了solr作为全文搜索实现方式,下载的是solr4.10.4版本,下面主要说下solr服务器搭建主要步骤:1、把解压后solr-4.10.4\example\webapps下的solr.war拷到tomcat下进行部署,然后修改web.xml下的这里改成solr索引文件的home目录,可以按照自己实际情况进行修改在D:/solrhome/solr原创 2016-01-28 11:16:46 · 560 阅读 · 0 评论 -
nginx做负载均衡的常用配置
最近因为项目需要用到nginx服务器,所以整理了下常用的配置:1)根据后缀进行tomcat分发,找不到图片时显示默认图片,配置成非80端口upstream backend { server localhost:8080; server localhost:8081; ip_has原创 2016-02-01 11:09:46 · 1581 阅读 · 0 评论 -
Log4j.properties文件配置详解
闲来无事,测了下log4j的各种配置,包括根据包路径和类、按照日期产生日志文件,不同级别生成不同文件等,下面是网络中收集的内容,特此记录下Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格原创 2013-03-23 22:48:05 · 9230 阅读 · 2 评论 -
java中Thread和Runnable的介绍
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限。下面看例子:class MyThread extends Thread{ private String na原创 2013-03-23 19:23:01 · 836 阅读 · 0 评论 -
事务的隔离级别及spring声明式事务
在数据库操作中,为了有效保证并发读取数据的正确性,提出的事务隔离级别。数据库是要被广大客户所共享访问的,那么在数据库操作过程中很可能出现以下几种不确定情况。1、更新丢失(Lost update)两个事务都同时更新一行数据,但是第二个事务却中途失败退出,导致对数据的两个修改都失效了。这是因为系统没有执行任何的锁操作,因此并发事务并没有被隔离开来。2、脏读(Dirty Reads)原创 2013-04-03 00:38:21 · 1109 阅读 · 0 评论 -
java中class加载流程
java应用环境中不同的class分别由不同的ClassLoader负责加载。一个jvm中默认的classloader有Bootstrap ClassLoader、Extension ClassLoader、App ClassLoader,分别各司其职:Bootstrap ClassLoader 负责加载java基础类,主要是 %JRE_HOME/lib/ 目录下的rt.jar、res转载 2013-04-02 23:43:07 · 1312 阅读 · 0 评论 -
JAVA读取文件方式
1、按字节读取文件内容2、按字符读取文件内容3、按行读取文件内容4、随机读取文件内容public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName)原创 2011-06-21 16:59:00 · 475 阅读 · 0 评论 -
jdk1.5及1.6新增的特性
jdk1.5的新特性: 1. 泛型 2 自动装箱/拆箱 3 for-each 4 static import 5 变长参数 1. 泛型 (避免类型强制转换可能引起的运行错误) 例如: ArrayList list=new ArrayList(); list.add(new Integer(3)); list.add(new Integer(4)); int i=((Integer)(list.ge转载 2011-06-23 16:06:00 · 691 阅读 · 0 评论 -
四种解析XML的方式
在平时工作中,难免会遇到把 XML 作为数据存储格式。面对目前种类繁多的解决方案,哪个最适合我们呢?在这篇文章中,我对这四种主流方案做一个不完全评测,仅仅针对遍历 XML 这块来测试,因为遍历 XML 是工作中使用最多的. A1234 四川省XX县XX镇XX路X段XX号 34 B1234 四川省XX转载 2010-01-13 22:25:00 · 519 阅读 · 0 评论 -
一个DOM4J的例子
一个DOM4J的例子转自:http://hi.baidu.com/liangroger/blog/item/47d8faede29aab4879f0554c.htmlDom4j下载及使用Dom4j读写XML简介要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:ht转载 2009-10-29 08:46:00 · 576 阅读 · 0 评论 -
commons-lang开源API
跟java.lang这个包的作用类似,Commons Lang这一组API也是提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等等。 这一组API的所有包名都以org.apache.commons.lang开头,共有如下8个包:org.apache.commons.lang转载 2009-10-16 18:05:00 · 1232 阅读 · 0 评论 -
Java模式之单例模式
简单的说单例就是 只能有一个实例,所以地方用到的实例都是同一个。就好像家人吃饭,桌子是单例的,大家用的是同一个。而碗是多例的,每人都有自几的。 下面是具体的例子:Java模式之单例模式: 单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例。 特点: 1,一个类只能有一个实例 2,自己创建这个实例 3,整个系统都要使用这个实转载 2009-10-16 21:14:00 · 564 阅读 · 0 评论 -
Servlet 的生命周期2
Servlet 的生命周期Servlet 的生命周期始于将它装入 Web 服务器的内存时,并在终止或重新装入 Servlet 时结束。(1) 初始化在下列时刻装入 Servlet: 如果已配置自动装入选项,则在启动服务器时自动装入 在服务器启动后,客户机首次向 Servlet 发出请求时 重新装入 Servlet 时装入 Servlet 后,服务器创建一个 Servlet原创 2009-10-12 18:47:00 · 494 阅读 · 0 评论 -
JUnit Assert方法总结
JUnit Assert方法总结junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类。1.assertTrue/False([String message,]boolean condition); 判断一个条件是true还是false。感觉这个最好用了,不用记下来那么多的方法名。2.fail([String messag转载 2009-09-24 19:17:00 · 22188 阅读 · 1 评论 -
JAVA中的重载和覆盖
重载方法必须满足下列条件(1) 方法名必须相同(2) 方法的参数签名必须相同(3) 方法的返回类型和方法的修饰符可以不相同 方法覆盖必须满足下列条件(1) 子类的方法的名称及参数必须和所覆盖的方法相同(2) 子类的方法返回类型必须和所覆盖的方法相同(3) 子类方法不能缩小所覆盖方法的访问权限(4) 子类方法不能抛出比所覆盖方法更多的异常 下面是一些例子:转载 2009-07-08 16:31:00 · 1115 阅读 · 0 评论 -
JAVA中StringTokenizer类的用法
StringTokenizer:字符串分隔解析类型属于:java.util包。1、构造函数。1. StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘/t’)”、“换行符(‘/n’)”、“回车符(‘/r’)”。2. StringTokenizer(String str, String转载 2009-06-03 13:25:00 · 3814 阅读 · 2 评论 -
Properties类总结
Properties类小结目前有个任务,要用到java.util.Properties类及其拓展知识.在这里先把预备知识梳理一下,过几天再把commons configuration整理出来. 一.Properties 简介 java.util.Properties 继承自 java.util.Hashtable Properties 类表示一个持久的属性集.Properties 可保存在流中转载 2009-06-03 10:25:00 · 792 阅读 · 0 评论 -
notifyAll()方法
首先:使用wait方法和使用synchornized来分配cpu时间是有本质区别的。wait会释放锁,synchornized不释放锁。还有:(wait/notify/notifyAll)只能在取得对象锁的时候才能调用。调用notifyAll通知所有线程继续执行,只能有一个线程在执行其余的线程在等待(因为在所有线程被唤醒的时候在synchornized块中)。这时的等待和调用notifyAll前的转载 2009-06-03 13:31:00 · 3639 阅读 · 0 评论 -
web应用上下文
关于web应用上下文Context 很多朋友都对Context不太了解,他们说"项目中没看到这个对象啊""但是老是听人提起Context","经常看到ServletContext,PageContext.EJBContext, 还有Spring里面的ApplicationContext等等" 笔者总结了一些对Context的介绍,结合自己的理解,希望可以方便大家更好利用Context转载 2009-07-20 17:26:00 · 3253 阅读 · 1 评论 -
Map排序
map中的key,value排序 如何对map进行排序呢?这就分别对map的key及value来排序。map内部是按照hash算法存储的,有些输出的情况需要对于Map类进行排序。/** * @param h * @return * 实现对map按照value升序排序 */ @SuppressWarnin原创 2009-11-20 23:35:00 · 8580 阅读 · 1 评论 -
Java中Map的用途
Map的用法Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象。 Map的接口 Map---实现Map Map.Entry--Map的内部类,描述Map中的按键/数值对。 SortedMap---扩展Map,使按键保持升序排列 关于怎么使用,一般是选择Map的子类,而不直接用Map类。转载 2009-11-20 23:40:00 · 1170 阅读 · 0 评论