• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
夜真寒
博客园    首页    新随笔    联系   管理    订阅  订阅

随笔分类 -  java

上一页 1 2 3
Java 位运算符 【转】

摘要:Java定义的位运算(bitwiseoperators)直接对整数类型的位进行操作,这些整数类型包括long,int,short,char,andbyte。表4-2列出了位运算:表4.2位运算符及其结果运算符结果~按位非(NOT)(一元运算)&按位与(AND)|按位或(OR)^按位异或(XOR)>>右移>>>右移,左边空出的位以0填充运算符结果<<左移&=按位与赋值|=按位或赋值^=按位异或赋值>>=右移赋值>>>=右移赋值,左边空出的位以0填充<<=左移赋值续表既然位运算符在整数范围内对位操作 阅读全文
posted @ 2011-04-23 17:58 夜真寒 阅读(1714) 评论(0) 推荐(0)
java堆栈 [转]

摘要:一、内存分配的策略 按照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的. 静态存储分配是指在编译时就能确定每个数据目标在运行时刻的存储空间需求,因而在编译时就可以给他们分配固定的内存空间.这种分配策略要求程序代码中不允许有可变数据结构(比如可变数组)的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准确的存储空间需求. 栈式存储分配也可称为动态存储分配,是由一个类似于堆栈的运行栈来实现的.和静态存储分配相反,在栈式存储方案中,程序对数据区的需求在编译时是完全未知的,只有到运行的时候才能够知道,但是规定在运行中进入一个程序模块时,必须知道该 阅读全文
posted @ 2011-04-22 17:03 夜真寒 阅读(1067) 评论(0) 推荐(1)
java堆栈 (转)

摘要:Java栈与堆----对这两个概念的不明好久,终于找到一篇好文,拿来共享1. 栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。3. Java中的数据类型有两种。一种是基本类型(pr 阅读全文
posted @ 2011-04-22 15:40 夜真寒 阅读(7298) 评论(1) 推荐(3)
cglib 介绍 原理 使用 demo examples 【转】

摘要:翻译 原文:http://www.ociweb.com/jnb/jnbNov2005.html1.CGLIB包的介绍代理为控制要访问的目标对象提供了一种途径。当访问对象时,它引入了一个间接的层。JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创 建代理。JDK的动态代理用起来非常简单,当它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的继承的类,该怎么 办?现在我们可以使用CGLIB包CGLIB是一个强大的高性能的代码生成包。它广泛的被许多AOP的框架使用,例如Spring AOP和dynaop,为他们提供方法的interception(拦截) 阅读全文
posted @ 2011-04-21 22:50 夜真寒 阅读(3808) 评论(0) 推荐(0)
[转]Hello, ASM——代码生成

摘要:版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://dreamhead.blogbus.com/logs/4007513.html这里要说的ASM,并不是指汇编语言,而是一个操作Java bytecode的框架。对于Java平台而言,bytecode便是它的“汇编语言”,所以,ASM这个名字倒也算是实至名归。ASM本身很强大,有不少软件和框架选择它作为底层的实现,比如cglib。在这篇blog中,主要来关注一下它在代码生成方面的威力。在起步阶段,Hello World总是一个很好的选择,也就是说,我们生成的目标代码是这样的:public class AsmExampl 阅读全文
posted @ 2011-04-21 22:49 夜真寒 阅读(826) 评论(0) 推荐(0)
ASM - Java 字节码操控框架

摘要:ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class 文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM 从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。 阅读全文
posted @ 2011-04-21 22:47 夜真寒 阅读(714) 评论(0) 推荐(0)
[转]java之classloader体系结构(含hotswap)

摘要:jvm classLoader architecture :a, Bootstrap ClassLoader/启动类加载器主要负责jdk_home/lib目录下的核心 api 或 -Xbootclasspath 选项指定的jar包装入工作.b, Extension ClassLoader/扩展类加载器主要负责jdk_home/lib/ext目录下的jar包或 -Djava.ext.dirs 指定目录下的jar包装入工作c, System ClassLoader/系统类加载器主要负责java -classpath/-Djava.class.path所指的目录下的类与jar包装入工作.b, Use 阅读全文
posted @ 2011-04-21 22:45 夜真寒 阅读(939) 评论(0) 推荐(1)
深入 理解 Statement 和 PreparedStatement 【转】

摘要:一、使用Statement而不是PreparedStatement对象JDBC驱动的最佳化是基于使用的是什么功能. 选择PreparedStatement还是Statement取决于你要怎么使用它们. 对于只执行一次的SQL语句选择Statement是最好的. 相反, 如果SQL语句被多次执行选用PreparedStatement是最好的.PreparedStatement的第一次执行消耗是很高的. 它的性能体现在后面的重复执行. 例如, 假设我使用Employee ID, 使用prepared的方式来执行一个针对Employee表的查询. JDBC驱动会发送一个网络请求到数据解析和优化这个查 阅读全文
posted @ 2011-04-21 09:50 夜真寒 阅读(22648) 评论(0) 推荐(1)
静态生成html的原理

摘要:虽然在性能上讲,即使将JSP或ACTION转换成HTML文件还是不如将某张JSP或某个ACTION缓存起来再作应响这种策略。但是,对大型的系统,JSP页面和ACTION可能成千上万,页每张JSP或每个ACTION反回的数据大概有几K左右。当然,我们只是缓存访问最频繁的页面,即使最繁的页面也可能有很多,所以也不能全部缓存。再说,缓存起来的数据也要定时更新,如果多了,定时更新也存在一定的问题,这就是为什么要静态HTML的理由了。 废话就不多说了,下面我们讨论一下如何将JSP或ACTION转换成HTML。其实这是一个非常简单的过程,你只要理解response对象的作用和知道如何正确编码就可以了。大家 阅读全文
posted @ 2011-04-06 01:07 夜真寒 阅读(6669) 评论(0) 推荐(0)
war文件【转】

摘要:其实war文件就是Java中web应用程序的打包。借用一个老兄的话,“当你一个web应用程序很多的时候,如果你想把它部署到别的机器上,来回拷这些文件是件挺郁闷的事情,如果要是一个文件就好了。。。那么war文件就可以满足你这个小小的要求”。那有人会说,这和直接打成rar文件不一样吗?区别大了!如果你直接打成rar文件,你得手动的去解压缩,但是war文件不需要,你把它放到tomcat的webapp目录下,就可以直接运行了,我觉得这个功能够强大,哈哈。在tomcat安装目录下的conf目录下有个server.xml,搜索“unpackWARs”关键字,你会看到在<Host>标签中会有对其 阅读全文
posted @ 2011-03-31 18:03 夜真寒 阅读(1648) 评论(0) 推荐(1)
java文件读写操作指定编码格式[转]

摘要:读文件:BufferedReader从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader)。例如,BufferedReader in = new BufferedReader(new FileReader("foo.in"));将缓 阅读全文
posted @ 2011-02-21 11:34 夜真寒 阅读(35770) 评论(1) 推荐(1)
Java 生成 XML文件 应用示例

摘要:/** * desciption:java create xml file * author:maomao * datetime:2007/04/04 23:42 */ package com.xh.xml; import java.io.FileOutputStream;import java.io.IOException;import org.jdom.Document;import org.jdom.Element;import org.jdom.JDOMException;import org.jdom.output.XMLOutputter; publicclass Java2XML 阅读全文
posted @ 2011-02-17 22:55 夜真寒 阅读(608) 评论(0) 推荐(0)
Java实现RSS

摘要:RSS是一个标准的XML文件,Rss阅读器可以读取这个XML文件获得文章的信息,使用户可以通过Rss阅读器而非浏览器阅读Blog,我们只要动态生成这个XML文件便可以了。RSSLibJ是一个专门读取和生成RSS的小巧实用的Java库,大小仅25k,可以从http://sourceforge.net/projects/rsslibj/下载rsslibj-1_0RC2.jar和它需要的EXMLjar两个文件,然后复制到web/WEB-INF/lib/下。rsslibj-1_0RC2.jar下载地址:http://sourceforge.net/project/downloading.php?gro 阅读全文
posted @ 2011-02-17 22:47 夜真寒 阅读(3885) 评论(0) 推荐(0)
java String的split方法容易犯的错误

摘要:今天用split方法分割一个类似"9580|9570|9571"的字符串,用Arrays.asList将String[]转成List,结果却是这样[9,5,8,0,|,9,5,7,0,|,9,5,7,1]列出几个要点首先java doc里已经说明, split的参数是reg, 即正则表达式, 如果用"|"分割, 则需使用"\\|"用* 分隔字符串运行将抛出java.util.regex.PatternSyntaxException异常,用加号 + 也是如此, 因此也应加入"\\"如果字符串中包含"\&qu 阅读全文
posted @ 2011-01-30 15:43 夜真寒 阅读(11206) 评论(0) 推荐(1)
think in java中的初始化,final,static,继承

摘要:2.6.3 static关键字通常,我们创建类时会指出那个类的对象的外观与行为。除非用new创建那个类的一个对象,否则实际上并未得到任何东西。只有执行了new后,才会正式生成数据存储空间,并可使用相应的方法。但在两种特殊的情形下,上述方法并不堪用。一种情形是只想用一个存储区域来保存一个特定的数据——无论要创建多少个对象,甚至根本不创建对象。另一种情形是我们需要一个特殊的方法,它没有与这个类的任何对象关联。也就是说,即使没有创建对象,也需要一个能调用的方法。为满足这两方面的要求,可使用static(静态)关键字。一旦将什么东西设为static,数据或方法就不会同那个类的任何对象实例联系到一起。所 阅读全文
posted @ 2011-01-24 11:00 夜真寒 阅读(2161) 评论(0) 推荐(0)
java 编码 UTF-8、ISO-8859-1、GBK 【转】

摘要:java 编码 UTF-8、ISO-8859-1、GBK Java支持UTF-8、ISO-8859-1、GBK等各种字体编码,可笔者发现Java中字体编码的问题仍难倒了不少程序员,网上虽然也有不少关于在Java中如何正确显示中文的文章,但都不够全面,笔者特意总结如下。 影响Java中字体编码正确显示的有几个因素: 1)数据库的连接方式; 2)网页中使用的字体编码; 3)数据库里存放数据的字体编码; 4)Java的缺省字体编码。如果在编程中遇到不能正确显示中文时,要先弄清楚以上几项所使用的字体编码,再分析找出原因,即可解决问题。 众所周知,JSP是Java的一种,和网页有关,而网页也有自己的中文 阅读全文
posted @ 2011-01-14 12:11 夜真寒 阅读(17710) 评论(0) 推荐(1)
Apache DBUtils使用总结 【转】

摘要:Apache DBUtils使用总结DBUtils是个小巧的JDBC轻量级封装的工具包,其最核心的特性是结果集的封装,可以直接将查询出来的结果集封装成JavaBean,这就为我们做了最枯燥乏味、最容易出错的一大部分工作。在使用DBUtils之前,应该注意一些问题:1、DBUtils是JDBC的简单封装,可以和JDBC混合使用。2、DBUtils对结果集自动封装为JavaBean是有着苛刻要求的:必须满足JavaBean的规范,其次Bean的getter与setter方法的名字与结果集的列名一一对应,而不要求JavaBean的私有成员与表结果集列名一一对应。比如:person表中有个字段叫:ad 阅读全文
posted @ 2011-01-11 09:39 夜真寒 阅读(25337) 评论(2) 推荐(2)
使用common-fileUpload制作文件上传【转】

摘要:前台页面不用多说 主要是表单中设置 enctype="multipart/form-data" 很重要。 处理上传jsp文件 //判断表单是否是Multipart类型的。这里可以直接对request进行判断 if (ServletFileUpload.isMultipartContent(request)) { // 创建文件处理工厂,它用于生成 FileItem 对象。 DiskFileItemFactory factory = new DiskFileItemFactory(); //设置文件的缓存路径 String tempdir =this.getS... 阅读全文
posted @ 2011-01-05 16:45 夜真寒 阅读(4940) 评论(0) 推荐(0)
JDK JRE 的作用与区别【转】

摘要:对于java初学者来说,往往不懂区分jdk和jre的区别,实际上这两个东西差别很大的,有必要了解一下: 简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。 JDK就是Java Development Kit JRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。 如果安装了JDK,会发同你的电脑有两套JRE,一套位于 \jre 另外一套位于 C:\Program Files\Java\j2re1. 阅读全文
posted @ 2011-01-02 21:42 夜真寒 阅读(6941) 评论(0) 推荐(0)

上一页 1 2 3
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3