![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
j2se
action5362603
这个作者很懒,什么都没留下…
展开
-
[Java]读取文件方法大全
public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(String fileName) { File file = new File(fileName); ...原创 2014-05-16 09:53:29 · 67 阅读 · 0 评论 -
Java7新特性 (转)
在最近举行的Devoxx大会上,Java SE首席工程师Mark Reinhol,针对新版的Java7做了一个最新发展方向的演讲。Mark称这次演讲的内容只是暂时的计划,并不表示Java7一定会跟着这个方向走。虽然如此,但是仍然在Java社区中引起了很多反响,特别是针对闭 包特性(Closures)的遗漏。 Hamlet D’Arcy提供了一个Mark演讲中有关Java7特性的总结。其中一些比...原创 2014-04-11 20:57:44 · 91 阅读 · 0 评论 -
http和socket之长连接和短连接区别
TCP/IP TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与UDP协议。 在应用层有:TCP包括FTP、HTTP、TELNET、SMTP等协议 UDP包括DNS、TFTP等协议 短连接 连接->传输数据->关闭连接 HTTP是无状...原创 2016-04-15 11:02:58 · 104 阅读 · 0 评论 -
jvm运行期打印汇编信息
如果只在jvm参数中加入-XX:+PrintAssembly参数,运行报错:Java代码 Improperly specified VM option 'PrintAssembly' Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred...原创 2016-04-26 22:51:55 · 277 阅读 · 0 评论 -
一个对象占用多少字节?
老早之前写过一篇博客,是关于一个Integer对象到底占用多少字节的,现在看来,那篇文章竟然计算错了。这次再去计算,是因为之前写的一篇关于字长的文章里,看到了hotspot jvm里,对象占用空间是8字节对齐的,再加上之前关于字节那文章里带着一点-XX:+UseCompressedOops压缩指针参数的疑问,重新探究了下一个对象到底占用多少字节,以及如何计算它占用空间的方法。主要是参考了这篇...原创 2015-06-04 20:04:30 · 168 阅读 · 0 评论 -
查看java对象在内存中的布局
接着上篇《一个对象占用多少字节?》中遇到的问题: UseCompressOops开启和关闭,对对象头大小是有影响的,开启压缩,对象头是4+8=12byte;关闭压缩,对象头是8+8=16bytes。这个如何观察验证呢? 基于上述事实,通过new A()和new B()占用字节推断,基本类型int在开启、关闭压缩情况下都是占用4个bytes的,这个没有影响。而通过B和...原创 2015-06-04 20:05:41 · 339 阅读 · 0 评论 -
JVM学习笔记四 之 运行时数据区
一、概述运行时数据区是jvm运行时的内存布局,类装载到内存后存放的位置,为执行引擎提供所需指令和数据。运行时数据区包括:堆、栈、方法区、本地方法栈、pc计数器。接下来会详细介绍各个部分,并介绍直接内存访问和方法区中的常量池,另外对于每个区域可能发生的内存异常用demo做讲解。二、详细介绍各部分1、堆分配运行时产生的对象分配在堆中,但是并不是一定就分配在堆中,随着运行时编译器...原创 2015-06-06 11:43:04 · 74 阅读 · 0 评论 -
一个对象占用多少字节?
老早之前写过一篇博客,是关于一个Integer对象到底占用多少字节的,现在看来,那篇文章竟然计算错了。这次再去计算,是因为之前写的一篇关于字长的文章里,看到了hotspot jvm里,对象占用空间是8字节对齐的,再加上之前关于字节那文章里带着一点-XX:+UseCompressedOops压缩指针参数的疑问,重新探究了下一个对象到底占用多少字节,以及如何计算它占用空间的方法。主要是参考了这篇很...原创 2015-06-06 11:43:07 · 276 阅读 · 0 评论 -
java监听器原理
public class MyActivity implements Listener { private TextView mText; private InternetManager mInetMgr; public void onStateChange(boolean state) { if (state) { mText.setText("on"); ...原创 2014-10-24 15:39:05 · 84 阅读 · 0 评论 -
java消息插件开发
package my.addon;public interface BaskAddon {} package my.addon;import my.domain.Message;public interface MessageAddon extends BaskAddon { /** 在发送消息后执行 */ public abstract void onAf...原创 2014-10-25 22:39:48 · 139 阅读 · 0 评论 -
JAVA多线程和并发基础面试问答
Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源。2. 多线程编程的好处是什么?在多线程程序中,多个线程...原创 2014-10-28 09:47:39 · 71 阅读 · 0 评论 -
Jsoup模拟登陆例子
Java代码 package com.jsouplogin; import java.util.HashMap; import java.util.List; import java.util.Map; import org.jsoup.Connection; import org.jsoup.Jsoup; impo...原创 2014-10-30 09:12:51 · 217 阅读 · 0 评论 -
java对象的内存计算
我们讨论的是java heap中对象所占内存。 1.基本类型内存占用 类型占用字节数boolean1byte1char2short2int4float4long8double82.对象所占内存由以下部分组成 object header, 8 byte基本类型,见第1节的表...原创 2014-11-01 13:07:42 · 237 阅读 · 0 评论 -
Java 8 简明教程 (转)
Java 8已于2014年3月18日正式发布了,新版本带来了诸多改进,包括Lambda表达式、Streams、日期时间API等等。本文就带你领略Java 8的全新特性。 本文由 ImportNew网站的黄小非 翻译自 winterbe。原文作者Benjamin是Pondus软件公司的总工程师,原文内容如下。 引用Java并没有没落,人们很快就会发现这一点...原创 2014-04-01 10:27:47 · 163 阅读 · 0 评论 -
痴情研究java内存中的对象(转)
痴情研究java内存中的对象前记:几天前,在浏览网页时偶然的发现一道以前就看过很多遍的面试题,题目是:“请说出‘equals’和‘==’的区别”,当时我觉得我还是挺懂的,在心里答了一点(比如我们都知道的:‘==’比较两个引用是否指向同一个对象,‘equals’比较两个对象的内容),可是总觉得心里有点虚虚的,因为这句话好像太概括了,我也无法更深入地说出一些。...原创 2014-03-25 13:45:31 · 69 阅读 · 0 评论 -
java获取当前类的路径
1.如何获得当前文件路径常用:(1).Test.class.getResource("")得到的是当前类FileTest.class文件的URI目录。不包括自己!(2).Test.class.getResource("/")得到的是当前的classpath的绝对URI路径。(3).Thread.currentThread().getContextClassLoader().getResourc...原创 2014-05-16 09:54:08 · 438 阅读 · 0 评论 -
创建Java线程池
线程池的作用: 线程池作用就是限制系统中执行线程的数量。 根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开...原创 2014-05-21 16:04:52 · 93 阅读 · 0 评论 -
Java 线程池的原理与实现
简单介绍 创建线程有两种方式:继承Thread或实现Runnable。Thread实现了Runnable接口,提供了一个空的run()方法,所以不论是继承Thread还是实现Runnable,都要有自己的run()方法。 一个线程创建后就存在,调用start()方法就开始运行(执行run()方法),调用wait进入等待或调用sleep进入休眠期,顺利运行完毕或休眠被中断或运行过程中...原创 2014-05-21 16:05:21 · 58 阅读 · 0 评论 -
ioioio
try{ BufferedReader in4 =new BufferedReader(new StringReader(s2)); //把s2当作输入对象 PrintWriter out1 =new PrintWriter(new BufferedWriter(new FileWriter(\"F:epalon TestIO.out\"))); ...原创 2014-05-21 16:07:08 · 187 阅读 · 0 评论 -
Java千万级别数据生成文件思路和优化
一年前写过一个百万级别数据库数据生成配置xml文件的程序,程序目的是用来把数据库里面的数据生成xml文件.程序可以配置多少文件生成到一个文件中去。程序刚开始设计的时候说的是最多百万级别数据,最多50W数据生成到一个xml文件里面去,所以在做测试的时候自己也只是造了100W的数据并没有做过多数据量的测试,然后问题就来了....由于程序使用的局点数据量巨大,需要生成xml文件的客户资料接近千万...原创 2014-06-03 16:17:23 · 373 阅读 · 0 评论 -
Java核心类库:内部类那点事儿
内部类:定义在类的内部的类为什么需要内部类?典型的情况是,内部类继承自某个类或实现某个接口,内部类的代码操作创建其的外围类的对象。所以你可以认为内部类提供了某种进入其外围类的窗口。 java中的内部类和接口加在一起,可以实现多继承。 可以使某些编码根简洁。 隐藏你不想让别人知道的操作。 使用内部类最吸引人的原因是:每个内部类都能独立地继承自一个(接口的)实现...原创 2014-06-03 16:17:32 · 92 阅读 · 0 评论 -
java常用设计模式应用案例 .
设计模式;一个程序员对设计模式的理解:“不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“好工具”,目的是提出一种对所有锁的开锁方案。在真正理解设计模式之前我一直在编写“简单”的代码.这个“...原创 2014-06-06 09:39:10 · 316 阅读 · 1 评论 -
Java中GC的工作原理 .
一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提升内存的管理效率 ,才能提高整个应用程序的性能。本篇文章首先简单介绍GC的工作原理之后,然后再对GC的几个关键问题进行深入探讨,最后提出一些Java程序设计建议,从GC角度提高Java程序的性能。 GC的基本原理 Jav...原创 2014-06-09 10:19:29 · 83 阅读 · 0 评论 -
java中易出错的且常被面试的几点 .
一、关于Switch 代码: 结果: 2 3 4 分析: 少了break;所以2以下的case和default都执行了一遍。 switch case 原理是:1.当遇到匹配的项后如有break,则结束,不再执行后面的语句,如果没有break,则执行完匹配的项后,后面的语句不管是否匹配一律执行;2.如果一直没有匹配的项会执行default二、Equals和==运...原创 2014-06-09 10:19:42 · 94 阅读 · 0 评论 -
面试中排名前10的算法介绍 .
以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念。由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍。本文将从Java的角度看问题,包含下面的这些概念:1. 字符串2. 链表3. 树4. 图5. 排序6. 递归 vs. 迭代7. 动态规划8. 位操作9. 概率问题10. 排列组合1. 字符串如果IDE没有代码自动补全功能,所以你...原创 2014-06-11 21:40:48 · 139 阅读 · 0 评论 -
Git入门及上传项目到github中
Git是一款不错的代码管理工具,下面引用百科的一段话: Git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。Git最为出色的是它的合并追踪(merge tracing)能力...原创 2014-06-16 10:01:47 · 120 阅读 · 0 评论 -
我不知道的事—多态和对象的故事 (转)
对于Java的学习者和使用者来说,对象永远是一个逃不过的劫,虽然我一直认为:学习Java等面向对象语言的人是不愁找不到对象的,因为万物皆对象嘛(但是万物总是令人遐想,此处省略一万字...)。不论你是初学者还是资深的程序员,我相信,关于对象,你总有很多很多要说的:从对象的创建到对象的使用,再到垃圾回收机制,对象的一生总是充满着神奇。 今天要说的是一些边角料的东西,而且有点杂。我想解...原创 2014-03-25 13:42:19 · 84 阅读 · 0 评论 -
[JavaScript]多文件上传时动态添加及删除文件选择框
多文件上传时,首先要解决的一个问题就是动态去添加或删除文件选择框,原来以为没多么困难的,但是没想到IE居然不支持table.appendChild()的js代码,导致整个前台JS的实现时间比原计划大大增加。不过还好可以借助网络查找需要的资源,最终成功实现兼容IE和FF的文件选择框的动态添加及删除功能。 先来看一下在FF中展现出来的效果,IE中效果亦然;这里要上传的是xls格式的 ex...原创 2014-11-07 10:41:19 · 843 阅读 · 0 评论