java基础
文章平均质量分 92
chkaka
该用户资料受国家保护,暂不可查询。
展开
-
java isassignablefrom 判断子父类关系
在java.lang.Class 类中存在方法isassignablefrom。详细见API. /** * Determines if the class or interface represented by this * {@code Class} object is either the same as, or is a superclass or原创 2014-03-17 11:27:13 · 9350 阅读 · 1 评论 -
Comparator和Comparable在排序中的应用
Comparator和Comparable在排序中的应用当需要排序的集合或数组不是单纯的数字型时,通常可以使用Comparator或Comparable,以简单的方式实现对象排序或自定义排序。一、Comparator强行对某个对象collection进行整体排序的比较函数,可以将Comparator传递给Collections.sort或Arrays.sort。接口方法:转载 2013-12-04 11:15:11 · 634 阅读 · 0 评论 -
Java有趣的三元运算符
public static void main(String args[]) { char x = 'X'; System.out.println(false ? x : 88); System.out.println(false ? 88 : x); }一段极其简单代码,你能知道打印的结果吗?如果你猜对了,麻烦你帮忙详细的介原创 2013-12-09 17:08:22 · 963 阅读 · 1 评论 -
Java socket 实现tomcat服务器
一个基于java的web服务器使用这两个重要的类:java.net.Socket和java.net.ServerSocket,并通过HTTP消息进行通信。在实现Web服务器之前有必要简要说明一下超文本传输协议(HTTP)。超文本传输协议(HTTP)http是一种无状态的请求和相应协议,请大家暂时记住无状态这一概念,在后续介绍session时将会向大家阐述有状态和无状态的区别。在HT转载 2013-11-05 16:44:17 · 8593 阅读 · 0 评论 -
struts2 漏洞 笔记
Struts 是 Apache软件基金会(ASF)赞助的一个开源项目。它最初是 Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用 Java Servlet/JSP 技术,实现了基于Java EE Web应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。在 Struts 中,已经由一个名为 ActionServlet 的 Servlet转载 2013-11-04 11:25:05 · 954 阅读 · 0 评论 -
java 静态变量和静态块底层原理
Java静态变量的初始化(static块的本质)在网上看到了下面的一段代码:public class Test { static { _i = 20; } public static int _i = 10; public static void main(String[] args) {转载 2013-11-04 15:57:29 · 3548 阅读 · 1 评论 -
Java 正则表达式
java.util.regex 类 Patternjava.lang.Object java.util.regex.Pattern所有已实现的接口: Serializable public final class Patternextends Objectimplements Serializable正则表达式的编译表示形式。 指定为字符串的正则表达式原创 2013-06-27 17:15:17 · 563 阅读 · 0 评论 -
java 中获取泛型类型
public abstract class BaseCacheDao { public BaseCacheDao() { this.clazz = (Class) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; }}原创 2014-04-30 11:54:37 · 673 阅读 · 0 评论 -
java 递归遍历树形结构
//菜单树形结构 public JSONArray treeMenuList(JSONArray menuList, int parentId) { JSONArray childMenu = new JSONArray(); for (Object object : menuList) { JSONObject jsonMenu =原创 2014-05-04 18:19:34 · 63750 阅读 · 15 评论 -
Java程序将字符串转为unicode的方法
private static String convert(String str) { String tmp; StringBuffer sb = new StringBuffer(1000); char c; int i, j; sb.setLength(0); for (i = 0; i < str原创 2014-05-11 23:53:21 · 1047 阅读 · 0 评论 -
java问题排查工具
curl -sLk http://tbox.cn-hangzhou.oss-cdn.aliyun-inc.com/install.sh | sh && source ~/.bash_profile 互联网: curl -sLk http://ompc.oss.aliyuncs.com/greys/install.sh|sh greys 安装文档 http://...原创 2019-01-07 16:03:18 · 366 阅读 · 0 评论 -
Java常见问题排查
听《Java常见问题排查》分享笔记原因一般和Java的ClassLoader机制有关,常见的问题是Jar包版本冲突问题,有的容易解决,编译时mvn做版本检测,如果版本不一样但是id一样,这样的时候编译会报错。通常遇到的问题是,很多开源框架依赖了某个jar包,把这个jar包的代码拷过来打成自己的jar包,这时mvn不知道。有可能用了新版本的方法,在生产环节因为加载了老的方法,就会...转载 2018-10-17 14:32:40 · 964 阅读 · 1 评论 -
Java Mail
public class MailSenderUtil { public static void send(String title,String []to,String text,List files)throws Exception { JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); ma原创 2016-04-27 14:21:37 · 619 阅读 · 0 评论 -
正则表达式 ? 的含义
?的第一个用法,匹配0次或1次。?第二个含义,作为正则的懒惰模式。正则有两种模式,一种为贪婪模式(默认),另外一种为懒惰模式,以下为例:(abc)dfe(gh)对上面这个字符串使用(.*)将会匹配整个字符串,因为正则默认是尽可能多的匹配。虽然(abc)满足我们的表达式,但是(abc)dfe(gh)也同样满足,所以正则会匹配多的那个。如果我们只想匹配(abc)和(gh)就需要用到以下的表原创 2014-03-18 09:56:47 · 1359 阅读 · 0 评论 -
Java 多字段排序Comparator(兼容Date,Integer,Doubel,Long)
Java 对象多字段排序原创 2014-05-06 18:05:07 · 10457 阅读 · 0 评论 -
spring MVC 配置支持JSONP
配置文件<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"原创 2014-06-03 17:16:18 · 22019 阅读 · 1 评论 -
java 反射实现JSTL
//getMethod static public Object invokeMethod(String propertiesName, Object object) { try { if (!propertiesName.contains(".")) { String methodName = "get"+getMe原创 2014-04-29 10:23:30 · 937 阅读 · 0 评论 -
Java 位运算
位移动运算符:例如:3 1)把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011, 2)把该数字高位(左侧)的两个零移出,其他的数字都朝左平移2位, 3)在低位(右侧)的两个空位补零。则得到的最终结果是0000 0000 0000 0000 0000 0000 0000 1100, 转换为十进制是12。同理,>>原创 2012-11-05 16:47:43 · 455 阅读 · 0 评论 -
位运算案例
1) int型变量循环左移k次,即a=a >16-k (设sizeof(int)=16) (2) int型变量a循环右移k次,即a=a>>k |a (3)整数的平均值 对于两个整数x,y,如果用 (x+y)/2 求平均值,会产生溢出,因为 x+y 可能会大于INT_MAX,但是我们知道它们的平均值是肯定不会溢出的,我们用如下算法: int average(int x, int y转载 2013-05-14 11:17:48 · 750 阅读 · 0 评论 -
Java 判断网络资源是否有效
在网络中经常需要判断资源地址url是否有效。可以参考下面代码。//判读资源是否存在 public boolean getRource(String source) { try { URL url = new URL(source);//创建URL对象。 URLConnection uc = url.openConn原创 2013-05-28 10:52:07 · 2851 阅读 · 1 评论 -
java 反射通过set、get 封装到实体Bean
private static final Logger log = LoggerFactory.getLogger(ParamWrapp.class); //将页面参数动态封装到对象,防止参数丢失 public static Object modifyVideoEncode(Object object, HttpServletRequest req) {原创 2012-08-09 16:16:42 · 3716 阅读 · 0 评论 -
java 将 properties 文件 加载到内存
在做项目和应用程序的时候,经常会将一些常量或者链接数据库、服务器的信息保存在properties文件中。以便这些信息发生改变的时候,执行修改properties文件,而不需要需该程序代码。 举例子:data.propertieskey=1234567890abcdefbid=1004bidForDaka=10081public class DataPro {//原创 2012-09-25 12:05:38 · 4891 阅读 · 0 评论 -
Java 自动转换为Unicode文件
说明:改博客主要是将windows 下(ASNI,Unicode,UTF-8,Unicode big endian)文件自动转换为Unicode 文件。 public static String getFileEncode(String fileName) { String charSet = ""; try { FileInp原创 2012-09-27 17:26:03 · 1292 阅读 · 0 评论 -
Java 保存 Unicode 文件
示例代码:try { File f = new File("d:\\test.txt"); //OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(file,true),"UTF-16LE"); BufferedReader read原创 2012-09-26 18:10:34 · 1395 阅读 · 0 评论 -
将Long 类型转换为日期
当我们获取一个Long值时 例如: long time=1343818800000;会报错 可以采用一些代码: long time=Long.valueOf("1343818800000"); SimpleDateFormat sdf= new SimpleDateFormat("MM/dd/yyyy HH:原创 2012-08-02 11:48:12 · 15006 阅读 · 1 评论 -
java 各种进制 转换
解析进制转换原理:给定一个整数10进制的数字X,将其转换为16进制Y;当你遇到这种情况的时候,恭喜你,在java Integer 中已经给你提供这样的方法;代码如下:Integer.toHexString(1000);可以看一下jdk这个方法的源码: /** * Convert the integer to an unsigned number. */ pri原创 2012-08-03 09:25:17 · 995 阅读 · 0 评论 -
Java 子父类怪异关系(一)
父类:public class Father{ public void wrire(){ System.out.println("this is a Parent"); } public void doWrite(){ wrire(); }}子类:public class Child extends Fa原创 2012-07-11 10:35:14 · 832 阅读 · 0 评论 -
HttpClient 公用类
public class HttpClientUtil { public static final String UTF_8 = "UTF-8"; public static final String GBK = "GBK"; private static DefaultHttpClient httpclient; private static final原创 2012-11-02 10:51:46 · 2257 阅读 · 0 评论 -
Java 自动识别文件编码
public static void transcodeFile(InputStream inputStream, OutputStream outputStream, byte[] bf) throws IOException { try { src = new InputStreamReader(inputStream, getFileEncode(b原创 2012-09-27 17:09:07 · 2664 阅读 · 0 评论 -
java 工具类 ---反射字段值封装到对象中
在javaEE 开发中,经常需要将页面传过来的值封装到类的属性中。以便传值或者持久化到数据库中。可以使用这个简单封装类。package com.letv.uts2.utcServer.util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.lang.refle原创 2013-03-14 16:39:20 · 2925 阅读 · 2 评论 -
ServletResponse 中getOUtStreatm 和getWriter 混合使用
ServletResponse 对象可以通过getOutStream()方法 获取页面输出流java.io.OutStream对象 out。同时也可以通过getWriter()获取java.io.PrintWriter对象writer。如果在一次操作中同时使用两个对象对外输出数据。可能会报异常。java.lang.IllegalStateException: WRITER at o原创 2013-05-08 11:54:50 · 1201 阅读 · 0 评论 -
java 通过 System 获取系统 属性列表
Standard System PropertiesProperty NameDescriptionJava Versionfile.encodingThe character encoding for the default locale1.1file.encoding.pkgThe package that contains the原创 2013-05-07 15:08:57 · 730 阅读 · 0 评论 -
java 统计JXL 写Excel
package com.db;import jxl.Workbook;import jxl.write.Label;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;import jxl.write.WriteException;import jxl.write.biff.RowsExceededExcep原创 2013-03-26 17:42:13 · 893 阅读 · 0 评论 -
JXL 读取 Excel
package com.db;import jxl.Sheet;import jxl.Workbook;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;/** * Created by IntelliJ IDEA. * User: haoshihai * Date: 12原创 2013-05-06 12:19:26 · 715 阅读 · 0 评论 -
Timer 和TimerTask 定时任务是否多线程
今天一个同事问过我这样一个问题。Timer 启动一个任务,每个1秒钟执行一次 。如果第一次执行这个任务Task需要5秒。那么第二次执行这个任务是在第2秒开始,还是在5秒开始。问题就此开始了。(1)如果是在第2秒执行这个任务。那么Task中的数据在同一个时间有两个线程在操作。这种操作造成显现就会出现数据混乱。线程不安全。两个线程同时拿到一个全局变量index=1,先后加1.结果变原创 2013-05-16 18:01:23 · 2565 阅读 · 0 评论 -
java ProcessBuilder 类
此类用于创建操作系统进程。每个 ProcessBuilder 实例管理一个进程属性集。#start() 方法利用这些属性创建一个新的 Process 实例。#start() 方法可以从同一实例重复调用,以利用相同的或相关的属性创建新的子进程。每个进程生成器管理这些进程属性:命令 是一个字符串列表,它表示要调用的外部程序文件及其参数(如果有)。在此,表示有效的操作系统命令的字符串列表原创 2013-05-03 12:23:57 · 1096 阅读 · 0 评论 -
java 进制之间相互转换
十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinaryString(int i) 十六进制转成十进制 Integer.valueOf("FFFF",16).toString() 八进制转成十进制 Integer.valueOf("87转载 2013-04-19 13:32:39 · 1007 阅读 · 2 评论 -
spring 事务详解
源地址:Spring声明式事务让我们从复杂的事务处理中得到解脱。使得我们再也无需要去处理获得连接、关闭连接、事务提交和回滚等这些操作。再也无需要我们在与事务相关的方法中处理大量的try…catch…finally代码。 我们在使用Spring声明式事务时,有一个非常重要的概念就是事务属性。事务属性通常由事务的传播行为,事务的隔离级别,事务的超时值和事务只读标志组成。我们在进行事务划分时,需转载 2013-03-18 16:24:32 · 518 阅读 · 0 评论 -
java 类的生命周期
java学习-类的生命周期(一)2012-07-09Java 程序需要使用某个类的时候,需要经过以下几个过程:1、 加载过程:将编译的.class文件加载到内存中,加载途径有多重:本地、网络、jar包等等,类的加载过程是由类加载器完成的,类加载器分为两种:(1)Java虚拟机自带的加载器(2)用户自定义的,继承了java.lang.ClassLoader转载 2012-07-11 11:00:43 · 752 阅读 · 0 评论