
Java
小学生Jason
简简单单,认认真真。
展开
-
Java基础---Stackoverflow上人气最旺的10个Java问题
1、 为什么两个(1927年)时间相减得到一个奇怪的结果?(3623个赞)如果执行下面的程序,程序解析两个间隔1秒的日期字符串并比较:[java] view plaincopypublic static void main(String[] args) throws ParseException { Simp转载 2015-10-16 11:48:42 · 644 阅读 · 0 评论 -
Java源码---java.lang.Math
/* * Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * *原创 2015-07-04 20:30:19 · 626 阅读 · 0 评论 -
Java源码---java.lang.String
一:String的构造函数有好多,我们一般常用的就那几个,熟悉一下尤其是String其实就是一个Char数组SumCode:/* * Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY原创 2015-07-04 20:16:03 · 1076 阅读 · 0 评论 -
Java源码---java.util.Arrays
/* * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * */package java.util;import java.lang.ref原创 2015-07-04 19:30:11 · 709 阅读 · 0 评论 -
CTCI---8.2.2
程序员面试金典原创 2015-05-25 16:36:03 · 402 阅读 · 0 评论 -
排序算法---快速排序(JDK1.7 DualPivotQuicksort 源码解析)
Arrays.sort()方法源码解析。源码一: /** * Sorts the specified range of the array. * * @param a the array to be sorted * @param left the index of the first element, inclusive, to be s原创 2015-06-11 16:40:16 · 1751 阅读 · 0 评论 -
CTCI---8.2.3
程序员面试金典原创 2015-05-25 17:20:17 · 387 阅读 · 0 评论 -
CTCI---8.2.1
程序员面试金典原创 2015-05-25 16:27:38 · 350 阅读 · 0 评论 -
Java基础---Java编码规范
/* * 文件名(可选),如 CodingRuler.java * * 版本信息(可选),如:@version 1.0.0 * * 版权申明(开源代码一般都需要添加),如:Copyright (C) 2010-2013 SINA Corporation. */package com.sina.weibo.sdk.codestyle;/** * 类的大体描述放在这里。 *转载 2015-06-08 14:13:12 · 349 阅读 · 0 评论 -
Java深入---JVM 内存模型
前言本文内容大多来自《深入理解Java虚拟机》,但是经过整理,语言更加简练。本篇为JVM入门系列的第一篇。本系列一共分为:JVM 内存模型。垃圾收集算法。类加载机制。JVM 介绍JVM(Java Virtual Machine)是Java程序员很熟悉的名字,但是他不只局限于Java语言,实际上JVM还支持其他语言运行在JVM上。总的来说,JV转载 2015-06-08 14:18:15 · 428 阅读 · 0 评论 -
java深入---深入研究java.lang.Class类
Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。 Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载原创 2015-05-22 20:55:40 · 336 阅读 · 0 评论 -
Java错题本---实时更新
1.求输出/* * @author mengdexin * */public class Test { public static void main(String[] args) { char x = 'x'; int i = 10; System.out.println(false ? i : x ); System.out.pr原创 2015-04-17 17:58:47 · 913 阅读 · 0 评论 -
Java基础---集合Collection
在 Java2中,有一套设计优良的接口和类组成了Java集合框架Collection,使程序员操作成批的数据或对象元素极为方便。这些接口和类有很多对抽象数据类型操作的API,而这是我们常用的且在数据结构中熟知的。例如Map,Set,List等。并且Java用面向对象的设计对这些数据结构和算法进行了封装,这就极大的减化了程序员编程时的负担。程序员也可以以这个集合框架为基础,定义更高级别的数据抽象,比转载 2015-07-06 20:34:13 · 444 阅读 · 0 评论 -
Java基础---java虚拟机内存结构
JVM 内存包含如下几个部分:Heap Memory 存放Java对象Non-Heap Memory 存放类加载信息和其它meta-dataOther 存放JVM 自身代码等在JVM启动时,就已经保留了固定的内存空间给Heap内存,这部分内存并不一定都会被JVM使用,但是可以确定的是这部分保留的内存不会被其他进程使用。这部分内存大小由 -Xmx 参数指定。而另一部分内存转载 2015-09-29 17:38:35 · 633 阅读 · 0 评论 -
Java深入---百万数据提取最大的前一百个数据
package BigData;import java.io.*;import java.util.PriorityQueue;import java.util.Queue;public class FileTest { public FileTest() { } public static void main(String[] args) { // madeData();原创 2015-09-29 09:17:40 · 3317 阅读 · 0 评论 -
你想成为优秀的Java程序员吗?
你想成为优秀的Java程序员吗?Java是全世界最受欢迎的3大编程语言之一,它可以开发出许多实用的WEB应用程序和桌面应用程序,更重要的一点,Java是跨平台的语言——编写一次,可以再任何地方运行。另外,Java也很容易入门,如果你想成为一名优秀的Java程序员,那么请你扪心自问一下,你熟悉下面的知识点吗?面向对象概念抽象类和接口构造函数和初始化函数的执行顺序文件读写和序列化集转载 2015-09-12 18:58:29 · 522 阅读 · 0 评论 -
java基础---Java垃圾回收机制
1. Java堆中各代分布:图1:Java堆中各代分布Young:主要是用来存放新生的对象。Old:主要存放应用程序中生命周期长的内存对象。Permanent:是指内存的永久保存区域,主要存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域. 它和和存放Instance的Heap区域不同,GC(Garbage C转载 2015-09-29 15:45:14 · 469 阅读 · 0 评论 -
Java基础---反射(Reflection)
一:定义能够分析类能力的程序称为反射。二:分析:Java 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。三:反射原创 2015-07-18 14:24:01 · 429 阅读 · 0 评论 -
Java基础---反射和代理
之前参与一个项目,使用的技术框架是struts2+ibatis,业余好奇探索了下,于是有幸接触到java的反射和动态代理。我知道在struts2的拦截器中使用了反射和动态代理,据说很多经典的框架,比如spring、hibernate、ibatis等也都大范围使用了。这两种技术大概意思如下:反射:在程序运行的时候,动态的获取某个类中的属性和方法,并且能够调用(很多框架能自动识别你写的类,然后转载 2015-07-18 15:38:16 · 423 阅读 · 0 评论 -
Java基础---序列化Serializable
关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结。此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制。在撰写本文时,既参考了Thinking in Java, Effective Java,JavaWorld,developerWorks中的相关文章和其它网络资料,也加入了自己的实践经验与理解,文、码并茂,希望对大家有所帮助。转载 2015-07-18 15:56:07 · 379 阅读 · 0 评论 -
Java基础---Proxy 代理
定义: JDK1.3增加的属性,利用代理可以在运行时创建一个实现了一组给定接口的新类。这种功能只能在编译时无法确定需要实现那个接口时才有必要使用。1.什么是动态代理?答:动态代理可以提供对另一个对象的访问,同时隐藏实际对象的具体事实。代理一般会实现它所表示的实际对象的接口。代理可以访问实际对象,但是延迟实现实际对象的部分功能,实际对象实现系统的实际功能,代理对象对客户隐藏了原创 2015-07-18 15:14:14 · 566 阅读 · 0 评论 -
Java基础---JVM内存管理以及垃圾回收机制
很多Java面试的时候,都会问到有关Java垃圾回收的问题,提到垃圾回收肯定要涉及到JVM内存管理机制,Java语言的执行效率一直被C、C++程序员所嘲笑,其实,事实就是这样,Java在执行效率方面确实很低,一方面,Java语言采用面向对象思想,这也决定了其必然是开发效率高,执行效率低。另一方面,Java语言对程序员做了一个美好的承诺:程序员无需去管理内存,因为JVM有垃圾回收(GC),会去自动进转载 2015-07-15 21:44:46 · 530 阅读 · 0 评论 -
Java基础---synchronized 详解
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的一个synch转载 2015-07-15 20:13:10 · 363 阅读 · 0 评论 -
Java源码---HashMap的底层实现
Hashmap是一种非常常用的、应用广泛的数据类型,最近研究到相关的内容,就正好复习一下。网上关于hashmap的文章很多,但到底是自己学习的总结,就发出来跟大家一起分享,一起讨论。1、hashmap的数据结构要知道hashmap是什么,首先要搞清楚它的数据结构,在java编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构原创 2015-07-14 21:12:56 · 835 阅读 · 0 评论 -
java错误--- MyEclipse 启动报错:'Building workspace' has encountered a problem解决方法
方法一: 每次MyEclipse工作空间报错如下:'Building workspace' has encountered a problem. Errors occurred during the build.并且详细信息为:Errors occurred during the build.Errors running builder 'DeploymentBuilder原创 2015-05-22 20:48:33 · 1084 阅读 · 0 评论 -
java学习---String、StringBuffer与StringBuilder之间区别
最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String原创 2015-05-22 20:51:12 · 330 阅读 · 0 评论 -
Java入门---java.lang.Math
1.Math类简介,final类型不允许被继承 public final class Math { /** * Don’t let anyone instantiate this class. */ private Math() {} } 2.原创 2015-05-18 17:54:46 · 354 阅读 · 0 评论 -
Java多线程---并发协作(生产者消费者模型)
对于多线程程序来说,不管任何编程语言,生产者和消费者模型都是最经典的。就像学习每一门编程语言一样,Hello World!都是最经典的例子。实际上,准确说应该是“生产者-消费者-仓储”模型,离开了仓储,生产者消费者模型就显得没有说服力了。对于此模型,应该明确一下几点:1、生产者仅仅在仓储未满时候生产,仓满则停止生产。2、消费者仅仅在仓储有产品时候才能消费,仓空则等待。3、当转载 2014-11-21 18:01:59 · 585 阅读 · 0 评论 -
Java深入---Java堆溢出以及垃圾回收机制
import java.util.ArrayList;import java.util.List;/** * @author MohnSnow * @time 2015年5月27日 下午5:39:17 * *//* * 测试Java堆溢出 * * JVM-SET: -verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails原创 2015-05-28 10:15:47 · 380 阅读 · 0 评论 -
Java快捷---自动注释时间作者。。。
在使用Eclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的。修改作者、日期注释格式:打开Windows->Preferences->Java->Code Style->Code Templates,点击右边窗口中的Comments,可以看到有很多选项,我们便可对此注释信息模板进行编辑。如我们希望在一个Java文件的开头设置作者信息、日期信息。转载 2015-05-20 10:32:42 · 5536 阅读 · 0 评论 -
java错误---FATAL ERROR in native method: JDWP No transports initialized,
用Eclipse的tomcat插件启动tomcat时报错:[xhtml] view plaincopyFATAL ERROR in native method: JDWP No transports initialized, jvmtiError=JVMTI_ERROR_INTERNAL(113) ERROR: transport er原创 2015-05-08 17:03:58 · 2566 阅读 · 0 评论 -
Constructor call must be the first statement in a constructor
Java程序员面试宝典P124class Base{ Base(){ System.out.println("base constructor"); }}public class Test extends Base{ public Test(){ System.out.println("test const原创 2015-04-17 16:04:13 · 749 阅读 · 0 评论 -
静态方法的引用---java程序员面试宝典P122
第一种:/* * @author mengdexin * */class Father{ public static String getName(){ return "Father"; }}class Child extends Father{ public static String getName(){ return "原创 2015-04-17 16:17:20 · 429 阅读 · 0 评论 -
派生类构造函数调用时必须先调用构造函数---java程序员面试宝典P109
派生类构造函数调用时必须先调用构造函数/* * @author mengdexin * */class X{ Y b = new Y(); X(){ System.out.println("X"); }}class Y { Y(){ System.out.println("Y"); }}public class Test extends X {原创 2015-04-17 17:23:04 · 725 阅读 · 0 评论 -
我对Java Serializable(序列化)的理解和总结
1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。2、什么情况下需要序列化 a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候转载 2015-04-14 17:24:45 · 379 阅读 · 0 评论 -
java执行的先后顺序---P109
为什么不限制性构造函数,而是限制性创建对象的操作。。。。。/* * @author mengdexin * */class X{ //Y b = new Y(); X(){ System.out.println("X"); } Y b = new Y();}class Y { Y(){ System.out.println("Y"); }}publi原创 2015-04-17 17:45:39 · 560 阅读 · 0 评论 -
CTCI---8.1.2
用C或C++实现一个 void reverse(char *str)函数,几即反转一个null结尾的字符串。/** * */package Chapter_8;import java.util.Scanner;/** * @author MohnSnow * @time 2015年5月21日 下午5:57:30 * */public class chapter8_1原创 2015-05-21 17:58:09 · 401 阅读 · 0 评论 -
CTCI---8.1.4
/** * */package Chapter_8;import java.util.Scanner;/** * @author MohnSnow * @time 2015年5月22日 上午9:57:30 * */public class chapter8_1_4 { /** * @param argsmengdx * -fnst原创 2015-05-22 10:18:55 · 395 阅读 · 0 评论 -
java学习---Eclipse 连接MySql数据库总结
Eclipse 连接MySql数据库总结一、在MySql中创建数据库,并创建表,向表中插入数据1、创建数据库create database select_test2、创建表create table teacher_table( Idint, Nam原创 2015-05-22 20:49:57 · 864 阅读 · 0 评论 -
Java入门---Java常用包简介
前言:记得高中时候有一段时间特别喜欢学语文,有一节课只看字典了,现在同样对JavaAPI感兴趣,从头理清一下头绪未尝不可。。。1、java.lang包:java的核心类库,包含了运行java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包。2、java.io包:java语言的标准输入/输出类库,如基本输入/输出流、文件输入/原创 2015-05-22 20:53:18 · 396 阅读 · 0 评论