java
文章平均质量分 83
VoidMe
做自己感兴趣的事,做长远的规划
展开
-
java String类
String类String类 1、String对象的初始化由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = “abc”; s = “Java语言”;转载 2013-10-24 14:22:40 · 538 阅读 · 0 评论 -
java中i++和++i
[java] view plaincopypackage bishi; public class PlusPlusTest { public static void main(String[] args) { int i = 1; i = i++ + i++ + i++;转载 2013-10-27 10:31:47 · 637 阅读 · 0 评论 -
instanceof, isinstance,isAssignableFrom的区别
instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化。如果被测对象是null值,则测试结果总是false。形象地:自身实例或子类实例 instanceof 自身类 返回true 例: String s=new String("javaisland"); System.out.println(s instanceof S转载 2013-10-22 11:53:14 · 405 阅读 · 0 评论 -
Arrays工具类
=============Arrays工具类=================Arrays:用于操作数组工具类,里面定义了常见操作数组的静态方法。常见的有:二分查找。排序。将数组变成字符串。int[] arr = { 4, 1, 5, 8, 2, 9 };System.out.println(Arrays.toString(arr));// 输出 原始数组 [4, 1, 5转载 2013-10-22 14:06:58 · 624 阅读 · 0 评论 -
JSON工具类
import java.lang.reflect.Array;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.text.Simple转载 2013-10-23 10:57:29 · 809 阅读 · 0 评论 -
java 静态内部类
这段代码输出是什么?public class Outer{ static int a; int c; static{ System.out.println("Outer Load"); } public Outer(){ System.out.println("Outer creat"); } public static void seta(int b){ a=b;原创 2013-11-01 01:17:38 · 572 阅读 · 0 评论 -
Java内存泄露的理解与解决
Java内存管理机制在C++语言中,如果需要动态分配一块内存,程序员需要负责这块内存的整个生命周期。从申请分配、到使用、再到最后的释放。这样的过程非常灵活,但是却十分繁琐,程序员很容易由于疏忽而忘记释放内存,从而导致内存的泄露。Java语言对内存管理做了自己的优化,这就是垃圾回收机制。Java的几乎所有内存对象都是在堆内存上分配(基本数据类型除外),然后由GC(garbage co转载 2013-11-16 23:51:10 · 755 阅读 · 0 评论 -
Java基础 之软引用、弱引用、虚引用
1、概述 在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走。一般说来,如果物品已经被扔到垃圾箱,想再 把它捡回来使用就不可能了。 但有时候情况并不这么简单,你可能会遇到类似鸡肋一样的物品转载 2013-11-17 00:54:24 · 729 阅读 · 0 评论 -
深入研究java.lang.ThreadLocal类
一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用该变量的线程都提供一个变量值的副本,是Java中一种较为特殊的线程绑定机制转载 2013-11-17 00:58:21 · 629 阅读 · 0 评论 -
序列化-理解readResolve()
转自:http://blog.csdn.net/haydenwang8287/archive/2010/10/25/5964130.aspx序列化是java中一个很常用而且很强大的功能。个人的看法,将java对象保存到磁盘,以后再从磁盘中读出来,这是java最常用到的功能之一。在基本的情况下,序列化能够“简单的起作用(just work)”。然而,随着越来越复杂的对象格式以及设计模式的被采转载 2013-11-16 22:35:38 · 865 阅读 · 0 评论 -
Java中堆内存和栈内存详解
Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器转载 2013-11-16 23:49:23 · 680 阅读 · 0 评论 -
Java强引用、 软引用、 弱引用、虚引用
1、对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。图1为对象应用类层次1)强引用(转载 2013-11-16 23:30:13 · 825 阅读 · 0 评论 -
蓝桥杯-比酒量
有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。 等船长醒来,发现海盗船搁浅了。他在航海日志中写到:“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船.原创 2013-11-17 13:55:41 · 938 阅读 · 0 评论 -
java中finalizer终结方法学习心得
java中finalizer终结方法学习心得最近在看java的中finalizer终结方法,也就是用来释放内存的,但这绝对和C++中的析构函数不相同C++中的析构函数是用来回收对象所占用的资源的方法,而在java中,当一个对象不可到达时(也就是重堆栈和静态存储区开始,由引用开始,寻找实体对象),垃圾回收器会释放该对象所相关联的存储空间,并不需要程序员的编码对于final转载 2013-11-19 00:44:46 · 2413 阅读 · 0 评论 -
jvm学习心得
jvm学习心得java中存储数据的几种区域1首先是Pcregister他存储的的线程运行的地址,每个线程会有一个2然后是栈他提供一个线程运行的场所,每一个线程都有一个栈,他存放局部变量,中间结果和返回值3堆他存放所有jvm的对象(其实不是所有,有时候对象也存放在栈上),每一个jvm只有一个堆4方法区他存放clss的相关信息,如常量池、字段和方法的转载 2013-11-19 00:45:29 · 832 阅读 · 0 评论 -
防范java代码的finalizer()漏洞
在使用终结器 (finalizer) 来创建对象时,其可能会给 Java 代码带来漏洞。该漏洞是使用终结器来恢复对象的著名技术的一种变体。当包含finalize() 方法的对象变得无法访问时,它会被放入一个将在以后某个时刻处理的队列上。本文解释此类攻击的工作原理,介绍如何保护代码免遭此类攻击。所有代码示例都可供下载。终结器的理念是允许 Java 方法释放任何需要返回到操作系统的本机资源。遗憾的转载 2013-11-19 01:00:07 · 891 阅读 · 0 评论 -
JAVA构造函数运行解析
源代码如下import java.util.*;class super1{{ System.out.println("super1 ok");} super1() { System.out.println("3"); }}class Employee extends super1{ private String name; pr转载 2013-11-19 20:06:10 · 742 阅读 · 0 评论 -
JAVA String.format 方法使用介绍
JAVA String.format 方法使用介绍1.对整数进行格式化:%[index$][标识][最小宽度]转换方式 我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解,就是最终该整数转化的字符串最少包含多少位数字。我们来看看剩下2个部分的含义吧:标识: '-' 在最小宽度内左对齐,不可以转载 2013-11-20 11:41:15 · 787 阅读 · 0 评论 -
java正则表达式详解
前言正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题。索引1._引子2._正则表达式的历史3._正则表达式定义3.1_普通字符3.2_非打印字符3.3_特殊字符3.4_限定符3.5_定位符3.6_选择3.7_后向转载 2013-11-21 00:14:49 · 916 阅读 · 0 评论 -
6174问题
import java.io.BufferedInputStream;import java.util.ArrayList;import java.util.Arrays;import java.util.Scanner;public class B23{ public static int getInt(int a){ int n=1; int temp=a/10;原创 2013-11-21 14:23:20 · 821 阅读 · 0 评论 -
java printf
Java的格式化输出等同于String.Format,与C有很大的相似,比如 System.out.printf("%8.2f", x); 在printf中,可以使用多个参数,例如: System.out.printf("Hello, %s. Next year, you'll be %d", name, age); 用于printf的转换符如下表: 转换符 类型转载 2013-11-20 23:18:41 · 997 阅读 · 0 评论 -
字母重排
输入一个字典(用*******结尾),然后在输入若干单词,每输入一个单词W,你都需要在字典中找到所有可以用w的字母重排后得到的单词,并按照字典序从小到大的顺序在一行中输出(如果不存在,输出:(),输出单词之间用空格或空行隔开。用例输入输出代码如下:import java.io.BufferedInputStream;import java.util.ArrayList原创 2013-11-21 16:51:59 · 986 阅读 · 0 评论 -
求最大子序列和
已经介绍了该问题的几种解法,其中有O(n^2)的,O(n*logn)和O(n)的,下面给出该算法的一个动态规划的解法,时间也是O(n)的,需要额外O(n)的空间代价。出了原始数组a[n]之外,我们利用一个s[n]数组来记录以从a[1]开始,并以a[i] ( 0那么我们来描述问题的最优子结构: 1,s[i]=a[i] 如果i=0,或者0原创 2013-11-23 22:59:13 · 602 阅读 · 0 评论 -
暴力求解法-简单枚举
public class B23{ public static void dicide(int n){ for(int i=0;i<10;i++){ for(int j=0;j<10;j++){ for(int k=0;k<10;k++){ for(int m=0;m<10;m++){ for(int l=0;l<1原创 2013-11-25 17:26:05 · 1056 阅读 · 0 评论 -
最大乘积
import java.util.Scanner;public class B23{ public static void maxMultiply(int[]n){ int maxMul=Integer.MIN_VALUE; int[]p=new int[2]; for(int i=0;i<n.length;i++){ for(int j原创 2013-11-25 18:37:10 · 564 阅读 · 0 评论 -
暴力求解法-双基回文数
import java.util.ArrayList;import java.util.Scanner;public class B23{ public static String change(int num,int d){ StringBuffer s=new StringBuffer(); while(num!=0){ s.insert(0,(原创 2013-11-25 21:12:43 · 894 阅读 · 0 评论 -
可重集的排列
public class B23{ public static void eachArrangement(int[]A,int []P,int cur){ if(cur==P.length){ for(int i=0;i<P.length;i++){ System.out.print(A[i]); } Syst原创 2013-11-26 16:49:01 · 860 阅读 · 0 评论 -
OGNL,EL和Structs标签库小结
转载至:http://blog.csdn.net/love_you_99/article/details/8184797请前往原文查看一 介绍1.Struts2的作用 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了更好的代码复用。Struts2允许在页面中使用自定义组件,这完全能满足项目转载 2015-11-20 13:46:17 · 441 阅读 · 0 评论 -
EL取得action 属性的原理
今天一个哥们学习struts2,尝试使用OGNL,由于关联性吧,就又跳到EL上面,结果神奇的事情发生,他用EL表达式从request域里面居然拿到了action钟的属性,这个天崩地裂的,大家都知道struts2中存值对象都放在actioncontext中,如下图:这幅截图来自于STURTS2 IN ACTIN一书中,由于action是放到valuestack中的,但是valuestack与转载 2015-12-08 23:18:07 · 915 阅读 · 0 评论 -
Struts2中的OGNL详解
转自 http://blog.csdn.net/tjcyjd/article/details/6850203首先了解下OGNL的概念:OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整个对象的结构图,实现对象属性类型的转换等功能转载 2015-12-08 22:07:56 · 502 阅读 · 0 评论 -
深入研究java.lang.ThreadLocal类
深入研究java.lang.ThreadLocal类 一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一转载 2015-11-22 16:03:27 · 305 阅读 · 0 评论 -
java代理机制
java代理机制Table of Contents1 引言2 常见的代理3 代理模式UML图4 代理模式实例5 java动态代理5.1 java动态代理UML图6 代理模式与装饰者模式的区别6.1 装饰者模式UML图6.2 形象说明1 引言我们书写执行一个功能的函数时,经常需要在其中写入与功能不是直接相关但很有必要的代 码转载 2015-11-24 10:13:16 · 306 阅读 · 0 评论 -
ServletContext的应用
今天我们学习的是ServletContext的应用。 WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。 ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfig.getServletContext方法获得ServletCon转载 2015-11-19 11:31:20 · 272 阅读 · 0 评论 -
JSP内置对象
JSP内置对象 JSP有以下九种内置对象,包括: request,请求对象 response,响应对象 pageContext,页面上下文对象 session,会话对象 application,应用程序对象 out,输出对象 config,配置对象 page,页面对象 exception,异常对象转载 2015-11-19 11:39:44 · 389 阅读 · 0 评论 -
JSP介绍,文件结构及执行过程
JSP Java Server Pages (JSP) Java服务器端的页面。 在传统的网页HTML文件(*.htm, *.html)中加入Java程序片断(Scriptlet)和JSP标签,就构成了JSP网页。 Java程序片断可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。 所有程序操作都在服务器端执行,网转载 2015-11-19 11:48:42 · 912 阅读 · 0 评论 -
JSP语法概述
JSP语法概述 JSP原始代码中包含了JSP元素和Template(模板)data两类。 Template data指的是JSP引擎不处理的部分,即标记以外的部分,例如代码中的HTML的内容等,这些数据会直接传送到客户端的浏览器。 JSP元素则是指将由JSP引擎直接处理的部分,即标记以内的部分,这一部分必须符合Java语法,否则会导致编译错误。 JSP转载 2015-11-19 11:45:54 · 383 阅读 · 0 评论 -
struts2中几个核心的组件ActionContext、ValueStack、OGNL表达式
转自:http://www.iteye.com/topic/11264551、ActionContext 当struts2框架接收到一个HTTP请求时,它立刻创建一个ActionContext、ValueStack、Action对象 ActionContext里有6个对象,分别是valueStack、parameters、request、session、applicatio转载 2015-11-20 14:52:57 · 509 阅读 · 0 评论 -
struts2,hibernate4,spring3配置时问题汇总及解决办法
struts2,hibernate4,spring3配置时问题汇总及解决办法struts2hibernate4spring3配置时问题汇总及解决办法 1.java.lang.NoClassDefFoundError: org/objectweb/asm/ClassVisitor缺少asm-3.3.jar2.java.lang.NoClassDefFoundError:转载 2015-11-26 16:57:51 · 701 阅读 · 0 评论 -
Spring scope属性详解
摘自《Spring 解密》scope用来声明IOC容器中的对象应该处的限定场景或者说该对象的存活空间,即在IOC容器在 对象进入相应的scope之前,生成并装配这些对象,在该对象不再处于这些scope的限定之后,容器通常会销毁这些对象。打个比方吧!我们都是处在社会 (容器)中,如果把中学教师作为一个类定义,那么当容器初始化这些类之后,中学教师只能局限在中学这个场景中,中学,就可以看做中学教转载 2015-12-15 21:03:04 · 392 阅读 · 0 评论 -
Spring 3 MVC深入研究
一、前言:大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了。Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀。官方的下载网址是:http://www.springsource.org/download (本文使用是的Spring 3.0.5版本)Str转载 2015-12-15 21:04:29 · 455 阅读 · 0 评论