随笔分类 - JAVA
摘要:本文主要整理自网上Blog与《深入理解Java虚拟机》 若存在错误还望指出,大家共同学习进步~~~ 1. 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来
阅读全文
摘要:题目: 40亿 大整数,组成了一个大文件。想找到其中的 上中位数该怎么办?内存:10MB,怎么办?内存:20K,怎么办?内存:有限几个字符,怎么办?条件:按行读取文件,读取操作不占用内存。 应该具备的能力:2^k = ? 应该都能够熟记,达到反射性反应的程度。字节数 对应计算机中的 容量(T, G,
阅读全文
摘要:阅读该篇文章前,请大家事先阅读一下: java.toString(),(String),String.valueOf的区别 有了上述基础后,我接下来谈谈从一道题目中获得的些许收获。 今天在做题是发现了非常重要的一点。题目来源:http://www.lintcode.com/en/problem/an
阅读全文
摘要:在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。 常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等。 下面对这些方法一一进行分析。 方法1:采用 Obje
阅读全文
摘要:1.两个数的交换 利用异或运算可以实习一种简单的不使用第三个数的交换方式, 代码如下所示: 原因是:异或运算是它本身的逆运算,故对于两个数或是布尔变量有如下性质: 给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。 样例 给出 [1,2,2,1,3,4,3],返回
阅读全文
摘要:最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。 关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比
阅读全文
摘要:1. 单例模式简介 单例模式是一种对象创建模式,它用于产生一个对象的具体实例,并确保系统中有且只有该对象的实例。 Java 语言中的单例模式是一个虚拟机范围,因为装载类的功能是虚拟机提供的,所以一个虚拟机实例在通过自己的 ClassLoad 装载实现单例模式的类的时候,只会创建一个类的实例。 单例模
阅读全文
摘要:在观察Java源码的时候,发现了这么一个写法T extends Comparable<? super T>。不禁纳闷为什么要这么写呢?有什么好处吗,extends和super在这里的作用着实让人有点不清楚。 接下来,我将结合代码跟大家分享一下我关于这里泛型应用的看法。 1. <T extends C
阅读全文
摘要:快速解读 System.currentTimeMillis()+time*1000) 的含义 一、时间的单位转换 1秒=1000毫秒(ms) 1毫秒=1/1,000秒(s)1秒=1,000,000 微秒(μs) 1微秒=1/1,000,000秒(s)1秒=1,000,000,000 纳秒(ns) 1
阅读全文
摘要:【0】README 0.0) 本文部分idea 转自:http://blog.csdn.net/collonn/article/details/20128205 0.1) 本文仅针对性地分析AVL树的单旋转(左左单旋转和右右单旋转)和 双旋转(左右双旋转和右左单旋转)的内部核心技巧; 0.2) 不得
阅读全文
摘要:1. KMP算法 1.1 定义 Knuth-Morris-Pratt 字符串查找算法,简称为 “KMP算法”,常用于在一个文本串S内查找一个模式串P 的出现位置,这个算法由Donald Knuth、Vaughan Pratt、James H. Morris三人于1977年联合发表,故取这3人的姓氏命
阅读全文
摘要:手机号码: /^0{0,1}(13[0-9]|15[7-9]|153|156|18[7-9])[0-9]{8}$/ 区号+座机号码+分机号码:regexp="^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$"手机(中国移动手机号码):regexp
阅读全文
摘要:对于Josephus问题有两个地方是可以进行优化的。 (总人数为N,编号为从0~N-1;经过M次报数去除一个成员,剩余成员个数为numleft, 记M%numleft为mPrime) 1、被移除的成员与上一个成员之间的距离是M%numleft-1(报数次为M%numleft).当M大于N时,该计算方
阅读全文
摘要:Matcher类:使用Matcher类,最重要的一个概念必须清楚:组(Group),在正则表达式中()定义了一个组,由于一个正则表达式可以包含很多的组,所以下面先说说怎么划分组的,以及这些组和组的下标怎么对应的.下面我们看看一个小例子,来说明这个问题 引用 \w(\d\d)(\w+) 这个正则表达式
阅读全文
摘要:当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。 下面我们将通过一个
阅读全文
摘要:迭代对于JAVA的来说绝对不陌生。我们常常使用JDK提供的迭代接口进行Java集合的迭代。 迭代其实我们可以简单地理解为遍历,是一个标准化遍历各类容器里面的所有对象的方法类,它是一个很典型的设计模式。Iterator模式是用于遍历集合类的标准访问方法。它可以把访问逻辑从不同类型的集合类中抽象出来,从
阅读全文
摘要:在能够通过编译的前提下,无论局部变量声明时带不带final关键字修饰,对其访问的效率都一样。 并且:重复访问一个局部变量比重复访问一个成员或静态变量快;即便将其final修饰符去掉,效果也一样。 例如说,以下代码: 在能够通过编译的前提下,无论局部变量声明时带不带final关键字修饰,对其访问的效率
阅读全文
摘要:许多程序设计语言都有自己的办法告诉编译器某个数据是“常数”。常数主要应用于下述两个方面: (1) 编译期常数,它永远不会改变 (2) 在运行期初始化的一个值,我们不希望它发生变化 对于编译期的常数,编译器(程序)可将常数值“封装”到需要的计算过程里。也就是说,计算可在编译期间提前执行,从而节省运行时
阅读全文
摘要:事件监听机制的实现:参考图:事件模型_ActionEvent 为了节省资源,系统无法对某个事件进行实时的监听。故实现的机制是当发生某个事件后,处理代码将被自动运行,类似钩子一般。(回调函数) 事件有许多,这边以按钮被按下为例。由于处理的方法函数是我们人为进行编写的,故Button是不知道所要调用的函数名是什么。 对此采用的解决方法为:Button源代码调中用接口方法,而我们的监听处理函数则必...
阅读全文
摘要:1. 基本的java Frame操作。 Java的图形界面的类主要包括AWT和Swing。在AWT中图形元素的父类为Component。 继承关系如下:Component->Container->Window->Frame->JFrame。(注意:Swing对AWT进行了扩展)。 下面给出一个简单的
阅读全文

浙公网安备 33010602011771号