java
藏红
不要担心自己走错路误了终身,坚持并保持进步才是正道。
展开
-
测试对象是否可序列化
仅做记录new ObjectOutputStream(new ByteArrayOutputStream()).writeObject(YOU_OBJECT)原创 2017-04-12 19:33:30 · 622 阅读 · 0 评论 -
Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收
很多Java面试的时候,都会问到有关Java垃圾回收的问题,提到垃圾回收肯定要涉及到JVM内存管理机制,Java语言的执行效率一直被C、C++程序员所嘲笑,其实,事实就是这样,Java在执行效率方面确实很低,一方面,Java语言采用面向对象思想,这也决定了其必然是开发效率高,执行效率低。另一方面,Java语言对程序员做了一个美好的承诺:程序员无需去管理内存,因为JVM有垃圾回收(GC),会去自动进转载 2015-06-10 21:00:32 · 685 阅读 · 0 评论 -
Java中final局部变量的生命周期
查了很多博客和帖子,发现这个帖子是把这个问题将得最清楚的(个人认为)转载自:http://bbs.csdn.net/topics/300068105问题:package test;public class TestFinal { //只有定义成 final User user 才不会报错为什么? public void test( User user)转载 2015-07-17 09:29:57 · 9512 阅读 · 4 评论 -
java读取03和07版的word内容
通过apache poi这个包来实现读取 word2003和2007的内容,以二进制流的形式读取,无法保留格式 request.setCharacterEncoding("gbk"); response.setContentType("text/plain;charset=gbk"); String file = "test.docx";// 获得项目根目录地址原创 2015-01-13 20:47:06 · 2826 阅读 · 0 评论 -
apache poi生成word文档
poi包的下载地址可以载官网下,也可以在http://download.csdn.net/detail/ch717828/8361309下载请看官网demo/* ==================================================================== Licensed to the Apache Software Foundation原创 2015-01-17 21:11:24 · 1208 阅读 · 0 评论 -
使用poi异常:Package should contain a content type part [M1.13]
public static Workbook create(InputStream in) throws IOException,InvalidFormatException { if (!in.markSupported()) { in = new PushbackInputStream(in, 8); }转载 2015-01-18 20:24:09 · 4653 阅读 · 0 评论 -
java生成excel报表
使用 apache poi包来实现该功能包可以通过官网下载,也可以通过 http://download.csdn.net/detail/ch717828/8361309 下载接下来看代码private static String xls2003 = "myexcel.xls";public static void main(String[] args) { //创建2原创 2015-01-19 18:25:26 · 923 阅读 · 0 评论 -
Apache POI 设置宽度和行高
FileOutputStream fos = new FileOutputStream("D:\\15.xls"); HSSFWorkbook wb = new HSSFWorkbook(); /** * ======================================================== * 设置cell宽度 * 通过sh转载 2015-01-19 18:29:39 · 11339 阅读 · 0 评论 -
java将内容追加到文件尾
使用RandomAccessFile 和 FileChannel ,将内容追加到文件尾原创 2015-01-25 15:20:50 · 2698 阅读 · 0 评论 -
Java用Socket类实现TCP,UDP编程
一、通过Socket实现TCP编程1.Socket通信实现步骤(1)、创建ServerSocket和Socket(2)、打开连接到Socket的输入/输出流(3)、按照协议对Socket进行读/写操作(4)、关闭输入输出流、关闭Socket2.基于TCP的Socket通信之服务端服务器端:(1)、创建ServerSocket对象,绑定监听端口(2)、通过acce转载 2015-03-16 15:36:41 · 914 阅读 · 0 评论 -
CGlib-打造无入侵的类代理
转自:http://llying.iteye.com/blog/220452CGlib是什么? CGlib是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。 当然这些实际的功能是asm所提供的,asm又是什么?Java字节码操控框架,具体是什么大家可以上网查一查,毕竟我们这里所要讨论的是cglib, cglib就是封装了asm,简化了a转载 2015-07-21 22:07:54 · 462 阅读 · 0 评论 -
使用Java、Servlet 生成二维码
归功于智能手机,QR码逐渐成为主流,它们正变得越来越有用。从候车亭、产品包装、家装卖场、汽车到很多网站,都在自己的网页集成QR码,让人们快速找到它们。随着智能手机的用户量日益增长,二维码的使用正在呈指数上升。让我们来看看QR码的简要概述,以及如何在Java中生成它们。QR码介绍QR码(Quick Response 快速响应码)是矩阵条形码(或二维码)的一种类型,最先转载 2015-08-14 22:23:32 · 1555 阅读 · 0 评论 -
java中fail-fast 和 fail-safe的区别
原文地址:http://javahungry.blogspot.com/2014/04/fail-fast-iterator-vs-fail-safe-iterator-difference-with-example-in-java.html在我们详细讨论这两种机制的区别之前,首先得先了解并发修改。1.什么是同步修改?当一个或多个线程正在遍历一个集合Collection,此时另一个线程翻译 2015-07-15 13:39:58 · 28177 阅读 · 13 评论 -
Java NIO
ava NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。本系列教程将有助于你学习和理解Java NIO。感谢并发编程网的翻译和投递。 (关注ITeye官微,随时随地查看最新开发资讯、技术文章。) Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区转载 2015-08-21 16:23:43 · 464 阅读 · 0 评论 -
一道题理解Java父子类初始化顺序什么是CopyOnWrite容器
携程Java工程师——一道面向对象面试选择题题目的来源是携程的一道面向对象选择题,原题为:public class Base{ private String baseName = "base"; public Base() { callName(); } public void callName() {原创 2015-10-13 19:21:36 · 895 阅读 · 0 评论 -
Java HashMap工作原理
转自:http://www.importnew.com/16599.html大部分Java开发者都在使用Map,特别是HashMap。HashMap是一种简单但强大的方式去存储和获取数据。但有多少开发者知道HashMap内部如何工作呢?几天前,我阅读了java.util.HashMap的大量源代码(包括Java 7 和Java 8),来深入理解这个基础的数据结构。在这篇文章中,我会解释转载 2015-09-24 14:39:09 · 734 阅读 · 0 评论 -
Java TreeMap 源码解析
转自:http://www.importnew.com/16679.html继上篇文章介绍完了HashMap,这篇文章开始介绍Map系列另一个比较重要的类TreeMap。 大家也许能感觉到,网络上介绍HashMap的文章比较多,但是介绍TreeMap反而不那么多,这里面是有原因:一方面HashMap的使用场景比较多;二是相对于HashMap来说,TreeMap所用到的数据结转载 2015-10-12 19:33:03 · 686 阅读 · 0 评论 -
Java8 lambda表达式
lambda表达式的本质就是匿名函数,在定义和调用时不需要被赋予类型名或绑定到标志符。lambda表达式是非常有用的,尤其是在实现单方法接口(在Java应用程序中非常常见)的时候。例如,之前使用匿名Runnable实例化Thread 时使用的代码为: /** * @param someArgument * @return */ private原创 2015-09-10 18:28:25 · 626 阅读 · 0 评论 -
Java日期操作(包含Java8)
java.util.Date & CalendarJava对日期进行加减运算,年份加减,月份加减。日期的操作用Calendar,表示用Date。import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class DateTestUtil {转载 2015-10-01 21:28:53 · 589 阅读 · 0 评论 -
从volatile说到i++的线程安全问题
简介volatile关键字保证了在多线程环境下,被修饰的变量在别修改后会马上同步到主存,这样该线程对这个变量的修改就是对所有其他线程可见的,其他线程能够马上读到这个修改后值. Thread的本地内存每个Thread都拥有自己的线程存储空间Thread何时同步本地存储空间的数据到主存是不确定的例子借用Google JEREMY MANSON 的转载 2015-07-23 21:10:43 · 744 阅读 · 0 评论 -
java注解
1. JDK自带注解@Override @Deprecated@Suppvisewarnings2. 其他注解-Spring常见注解@Autowired@Service@Repository3. 其他注解-Mybatis常见注解@InsertProvider@UpdateProvider@Options4. 注解的分类原创 2015-08-04 14:39:28 · 558 阅读 · 0 评论 -
Java垃圾回收机制
Java垃圾回收机制 说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?那么当一些对象被确定为垃圾之后,采用什么样的策略来进行回收(释放空间)?在目前的商转载 2015-03-20 20:36:12 · 521 阅读 · 0 评论 -
Java反射
任何一个类都是Class的实例对象,这个实例对象有三种表示方式,我们完全可以通过类的类类型创建该类的对象实例package com.imooc.reflect;public class ClassDemo1 { public static void main(String[] args) { //Foo的实例对象如何表示 Foo foo1 = new Foo();//foo1就表转载 2015-03-04 19:00:00 · 520 阅读 · 0 评论 -
java中PriorityQueue优先级队列使用方法
import java.util.Comparator;import java.util.PriorityQueue;import java.util.Queue;public class test { private String name; private int population; public test(String name, int population) {转载 2015-03-08 17:57:07 · 924 阅读 · 0 评论 -
HashMap和Hashtable的区别
HashMap和Hashtable的比较是Java面试中的常见问题,用来考验程序员是否能够正确使用集合类以及是否可以随机应变使用多种思路解决问题。HashMap的工作原理、ArrayList与Vector的比较以及这个问题是有关Java 集合框架的最经典的问题。Hashtable是个过时的集合类,存在于Java API中很久了。在Java 4中被重写了,实现了Map接口,所以自此以后也成了Java转载 2015-04-06 16:58:53 · 532 阅读 · 0 评论 -
CocurrentHashMap和Hashtable的区别
集合类是Java API的核心,但是我觉得要用好它们是一种艺术。我总结了一些个人的经验,譬如使用ArrayList能够提高性能,而不再需要过时的Vector了,等等。JDK 1.5引入了一些好用的并发集合类,它们对于大型的、要求低延迟的电子商务系统来说非常的有用。这篇文章中将会看看ConcurrentHashMap和Hashtable之间的区别。这篇文章是HashMap的工作原理以及Has转载 2015-04-06 17:02:06 · 430 阅读 · 0 评论 -
Java判断一个字符串是否是数字
public class NumberDemo { public static void main(String[] args) { String str1="1122.2.2"; String str2="111"; String str3="111.2"; String str4="111s"; String str5="111.s"; String str6="1s转载 2015-06-28 20:01:17 · 865 阅读 · 0 评论 -
Java 创建xml文件
使用DOM方式创建package com.imooc.domtest.test;import java.io.File;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfiguratio转载 2015-06-14 18:02:34 · 1539 阅读 · 0 评论 -
Java 读取xml文件
使用java读取xml文件 冰与火之歌 乔治马丁 2014 89 安徒生童话 2004 77 English DOM读取package com.imooc.domtest.test;import java.io.IOException;import javax.xml.parsers.DocumentBuilder;i转载 2015-06-11 18:57:31 · 597 阅读 · 0 评论 -
java从控制台获取一行字符串输入
java从控制台获取一行字符串输入原创 2015-02-05 14:26:10 · 13944 阅读 · 0 评论 -
java使用smb访问网络共享文件
最近tomcat做了负载均衡,碰到一个难题,就是上传文件的共享问题。最后使用的解决方案是使用一个共享地址,该地址可以被多个服务器共同访问。每个服务器通过smb与共享文件进行通信。实现上传文件到网络共享文件夹和从网络共享文件夹下载文件实验机器: Mac OS X 上使用Tomcat 7.0 共享文件夹存在与同一个局域网的 win7上至于Mac OSX 和 win 7 如何设置共享文件夹,可以参考:http://www.jb51.net/os/windows/84034.html 亲测有原创 2015-02-03 00:11:31 · 6096 阅读 · 0 评论 -
Java的3种Base64加密方法
Java的3种Base64加密方法 , 分别是 jdk默认实现的加密方式, 使用cc的加密方式和使用bc的加密方式import java.io.IOException;import org.apache.commons.codec.binary.Base64;import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder;原创 2015-06-27 19:50:52 · 13214 阅读 · 0 评论 -
Java构造器内部的多态方法的行为
Java构造器调用的层次结构带来了一个有趣的两难问题。如果在一个构造器的内部调用正在构造的对象的某个动态绑定方法,那会发生什么情况?翻译 2015-02-27 11:24:18 · 749 阅读 · 0 评论 -
java正则表达式的语法与示例
1.匹配验证-验证Email是否正确public static void main(String[] args) { // 要验证的字符串 String str = "service@xsoftlab.net"; // 邮箱验证规则 String regEx = "[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\\.)转载 2015-02-28 16:07:18 · 598 阅读 · 0 评论 -
java读取excel内容
通过apache poi这个jar包来实现读取excel的表格,程序是在servlet 运行,贴关键的代码 //项目根目录 String rootPath = this.getServletConfig().getServletContext().getRealPath("/"); //通过参数获取要读取的excel文件名 String filename = reque原创 2015-01-15 10:20:15 · 1292 阅读 · 0 评论 -
java取得当前工作目录
jsp,servelt 获取项目路径转载 2015-01-18 13:27:37 · 2114 阅读 · 0 评论 -
PreparedStatement 事物批量更新
/** * 更新数据库已有的customer信息 * @param List * @return */ public int updateExistsInfo(List updateList){ //查询的SQL语句 String sql = "update t_customer set LICENSE_KEY=?,CORPORATE_NAME=?,INTEGRA转载 2015-01-25 14:24:23 · 880 阅读 · 0 评论 -
Java动态(后期)绑定和overloading 向上转型
动态绑定意味着:目前正在调用的方法正是最适用于要操作对象的那个方法。然而它并不意味着对所有的参数都执行最佳匹配。一个例子:class Base{ public void foo(Base x){ System.out.println("Base.Base"); } public void foo(Derived x)转载 2015-02-01 13:56:01 · 728 阅读 · 0 评论 -
Java给出3个点,做三角形判断
问题:给定平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3),检验它们能否构成三角形。输入格式:输入在一行中顺序给出6个[-100, 100]范围内的数字,即3个点的坐标x1, y1, x2, y2, x3, y3。输出格式:若这3个点不能构成三角形,则在一行中输出“Impossible”;若可以,则在一行中输出该三角形的周长和面积,格原创 2015-02-01 21:20:00 · 8442 阅读 · 0 评论 -
如何判断 Java 线程并发的安全性
前言在高并发的时代中,如何写出高质量的并发程序一直是一个令人头疼的事情。现在给你一段代码,你如何判断它是否是线程安全的?又如何改进呢?在这里,我们简单介绍一下Java内部是如果保证线程安全的。一切的关键就在:高效利用并发,同时也必须保证JMM三大特性的有序性。只有保证了有序性,才能在代码正确执行的前提下去求追更高的效率。而这个王牌就是:先行发生原则想一想,如果Jav转载 2014-11-14 10:09:03 · 3189 阅读 · 0 评论