自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(145)
  • 资源 (5)
  • 收藏
  • 关注

转载 JVM内存模型

一、线性共享区域随虚拟机的启动/关闭而创建/销毁.1. Java堆(Heap)几乎所有对象实例和数组都要在堆上分配(栈上分配、标量替换除外), 因此是VM管理的最大一块内存, 也是垃圾收集器的主要活动区域。由于现代VM采用分代收集算法, 因此Java堆从GC的角度还可以细分为: 新生代(伊甸园Eden区、From Survivor区和To Survivor区)和老年代; 而...

2018-01-23 02:19:22 193

转载 String、StringBuffer与StringBuilder之间区别

最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String2.St

2018-01-23 00:31:17 211

转载 java 直接内存

直接内存(Direct Memory)并不是虚拟机运行时数据区的一部分,也不是Java虚拟机规范中定义的内存区域,但是这部分内存也被频繁地使用,而且也可能导致OutOfMemoryError异常出现,所以我们放到这里一起讲解。在JDK 1.4中新加入了NIO(New Input/Output)类,引入了一种基于通道(Channel)与缓冲区(Buffer)的I/O方式,它可以使用Native函数库直

2016-03-11 17:24:58 4794 1

转载 JAVA反射机制

1 概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。

2016-03-11 17:15:06 490

转载 深入研究java.lang.Class类

转自:http://lavasoft.blog.51cto.com/62575/15433/Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。【Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。】Class 没有公

2016-03-11 16:27:17 345

转载 Java体系和一些基本概念

转自:http://www.cnblogs.com/gw811/archive/2012/10/18/2729490.htmlJVM:Java Virtual Machine(Java虚拟机),负责执行符合规范的Class文件。JRE: Java Runtime Environment (java运行环境),包含JVM和类库。JDK: Java Development Kit(java开发工

2016-03-11 15:30:16 412

转载 Java内存管理:深入Java内存区域

转自:http://www.cnblogs.com/gw811/archive/2012/10/18/2730117.htmlJava与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。1 概述对于从事C和C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权力的皇帝,又是从事最基础工作的劳动人民—既拥有每一个对象的“所有权”,又担负着每一个对

2016-03-11 15:23:26 352

转载 java中volatile关键字的含义

转自:http://www.cnblogs.com/aigongsi/archive/2012/04/01/2429166.html在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。synchron

2016-03-11 14:05:39 259

原创 Java命令行

1 javacjavac是JDK的标准编译工具,常见的形式为:javac <选项> <源文件>。它可能的选项包括:-g:生成所有调试信息。-g:none:生成无调试信息。-g:{lines,vars,source}:生成只有部分调试信息。-nowarn:生成无警告。-verbose:输出关于编译器正在做的信息。-deprecation:输出使用了不鼓励使用的API的源程序位置。-classpath

2016-03-11 13:15:08 711

转载 Java Integer的内涵

转自:http://www.cnblogs.com/DreamSea/archive/2011/11/20/2256396.html先来看一段代码与其输出结果:public class IntegerTest { public static void main(String[] args) { objPoolTest(); } public st

2016-03-11 02:19:04 602

转载 Java类的加载与实例创建

以下面的代码作为例子 public class AppMain { // 运行时, jvm 把appmain的信息都放入方法区 public static void main(String[] args) { // main 方法本身放入方法区。 Sample test1 = new Sample(" 测试1 "); // test1是引用,所以放到栈区里

2016-03-11 02:14:38 698

原创 Java堆、栈、方法区、常量池

1 堆与栈Java的数据根据不同的使用情况,有不同的分类,接下来先简单概括一下各种数据类别(不是类型)的内存分配情况,首先帮助区分一下java堆和java栈:基础数据类型(Value type)直接在栈(stack)空间分配,方法的形式参数,直接在栈空间分配,当方法调用完成后从栈空间回收。引用数据类型,需要用new来创建,既在栈空间分配一个地址空间(reference),又在堆空间分配对象的类变

2016-03-11 01:57:38 7693 2

原创 java中>>与>>>的区别

Java运算符的优先级:

2016-03-10 23:31:16 519

原创 HashMap

java的集合类主要由两个接口生成: (1) Collection:Set(无序集,只可以根据元素本身来访问,所以不能重复),List(有序集,元素可以重复),Queue(队列)(2) Map:key-value对。将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。Map 接口提供三种collection 视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。映

2016-03-09 21:24:17 528

原创 Integer.highestOneBit(int i)的作用

源码 /** * Returns an {@code int} value with at most a single one-bit, in the * position of the highest-order ("leftmost") one-bit in the specified * {@code int} value. Returns zero if

2016-03-09 19:58:19 3420

原创 Symmetric Tree

recursively/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class So

2016-03-09 17:58:35 394

原创 House Robber

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent house

2016-03-09 16:25:32 355

转载 Java中的String为什么是不可变的?

转自:http://www.2cto.com/kf/201401/272974.html什么是不可变对象?众所周知, 在Java中, String类是不可变的。那么到底什么是不可变的对象呢? 可以这样认为:如果一个对象,在它创建完成之后,不能再改变它的状态,那么这个对象就是不可变的。不能改变状态的意思是,不能改变对象内的成员变量,包括基本数据类型的值不能改变,引用类型的变量不能指向其他的对象,引用类

2016-03-08 23:34:47 448

原创 Java clone()

Object 中有一个projected clone() 方法,所以很多类都支持这个“自我克隆”的方法。自定义类想实现clone() 方法只需要实现Cloneable接口即可。它跟Serializable一样,里面没有任何方法,只是一个标志性的接口。一般来讲,利用clone() 可以复制出一个一模一样的实例,而且两者完全隔离。因为它是直接在内存中,将所有数据拷贝一份到另外的区域,效率很高。根据这个原

2016-03-08 22:52:08 328

原创 Java 包装类

这篇博文并不会全面的介绍Java的面向对象,很多知识模块我认为弄清楚其中一部分,其他都大同小异的,我都没有提。所以一个大标题下,介绍的组件并不全面。1 Object是所有类的父类,它的每一个方法都很重要。2 包装类先说一说有共性的东西:自动装箱、拆箱:基本数据类型和对应的包装类可以相互赋值。所有的类都有toString方法,它的一般作用是“自我表述”。除了Character之外,其余的包装类都

2016-03-08 20:59:59 372

原创 Java序列化

Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨。1 Java序列化Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。2 为什么需要序列化我们知道,当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会以二进制序列的形式在

2016-03-08 20:23:16 532

原创 参数是数组的引用变量,判断数组是否为空

以test函数举例:public int test(int[] nums) {……}错误的判断方法:if(nums == null){……}的判断方法:if(nums.length == 0){……}

2016-03-08 15:57:36 428

原创 *Balanced Binary Tree

Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by

2016-03-08 15:33:34 317

原创 Implement Queue using Stacks

Implement the following operations of a queue using stacks.push(x) – Push element x to the back of queue.pop() – Removes the element from in front of queue.peek() – Get the front element.empty() –

2016-03-08 14:48:10 253

原创 Merge Two Sorted Lists

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.其实就是在考察归并排序。/** * Definition for singly-linked list. * pub

2016-03-08 12:57:38 272

原创 Power of Three

Given an integer, write a function to determine if it is a power of three.Follow up: Could you do it without using any loop / recursion?public class Solution { public boolean isPowerOfThree(int n)

2016-03-08 11:12:36 250

原创 Ugly Number

Write a program to check whether a given number is an ugly number.Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly while 14 is not ugly since it in

2016-03-07 18:29:59 282

原创 Climbing Stairs

You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?利用递归的思想:逆向思想。如果你想上到第n个台阶,有几种可能?答案是,2种

2016-03-07 18:02:42 324

原创 Number of 1 Bits

1 Java位运算public class Test { public static void main(String[] args) { // 1、左移( << ) // 0000 0000 0000 0000 0000 0000 0000 0101 然后左移2位后,低位补0:// // 0000 0000 0000 0000 0000 00

2016-03-07 16:20:28 389

原创 Roman to Integer/Integer to Roman

1 Roman to IntegerGiven a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 to 3999.首先,想做出这道题得了解一下罗马数字。罗马数字有如下符号:I(1)V(5)X(10)L(50) C(100)D(500)M(100

2016-03-07 14:22:05 445

原创 Reverse Linked List

Reverse a singly linked list.Hint: A linked list can be reversed either iteratively or recursively. Could you implement both?1 iteratively原本的链表如果是这样的话:1 --> 2 --> 3 --> 4 --> 5我们要做的就是:1 <-- 2 <-- 3 <-

2016-03-06 21:21:05 317

原创 Contains Duplicate

Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is

2016-03-06 18:48:39 264

原创 Excel Sheet Column Number/Excel Sheet Column Title

Excel Sheet Column NumberRelated to question Excel Sheet Column TitleGiven a column title as appear in an Excel sheet, return its corresponding column number.For example: A -> 1 B -> 2 C ->

2016-03-06 18:40:45 399

原创 Valid Anagram

Given two strings s and t, write a function to determine if t is an anagram of s.For example, s = “anagram”, t = “nagaram”, return true. s = “rat”, t = “car”, return false.Note: You may assume the s

2016-03-06 17:02:44 332

原创 Java定义class

1 finalfinal可以用来修饰 类、方法 和 变量。修饰类:表明这个类不能被继承;修饰方法:使用final方法的原因是把方法锁定,以防任何继承类修改它的含义。因此,如果想明确禁止该方法在子类中被覆盖的情况下才将方法设置为final的。类的private方法会隐式地被指定为final方法。修饰变量:对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更

2016-03-06 01:36:28 1291

原创 Maximum Depth of Binary Tree

Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node./** * Definition for a binary tree node.

2016-03-06 00:28:26 313

原创 StringBuffer源码分析

StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类,所以在实际使用时,如果经常需要对一个字符串进行修改,例如追加、插入、删除等操作,使用StringBuffer要更加适合一些。对于StringBuffer对象的每次修改都会改变对象自身,这点是和String类最大的区别。public final class StringBuffer extends A

2016-03-05 18:12:31 1624

原创 JDK中常用包简要说明

java.applet:提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。java.awt:包含用于创建用户界面和绘制图形图像的所有类。java.beans:包含与开发 beans 有关的类,即基于 JavaBeans TM 架构的组件。java.io:通过数据流、序列化和文件系统提供系统输入和输出。java.math:提供用于执行任意精度整数算法

2016-03-05 16:25:35 628

转载 优化幂运算

转自:http://blog.csdn.net/zhutulang/article/details/7515772计算一个整数的幂 X^N 的常见算法是使用 N-1 次乘法自乘。然而我们可以找到更好的算法。可以应用这样一种递归算法:如果 N 是偶数,有X^N=X^(N/2) * X^(N/2), 如果 N 是奇数,则有 X^N =X^[(N-1)/2] * X^[(N-1)/2] * X 。为了说

2016-03-05 16:03:51 1081

原创 数组实现stack

package stack;import java.util.EmptyStackException;public class MyStack<E> { //Stack 的数组实现 private int CAPACITY; private Object[] theArray; private int topOfStack; public MyStack()

2016-03-05 15:14:14 501

黑白棋(奥赛罗)Android APP完整源代码工程包

黑白棋在西方和日本很流行。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。它的游戏规则简单,因此上手很容易,但是它的变化又非常复杂。有一种说法是:只需要几分钟学会它,却需要一生的时间去精通它。 本资源系本人课程作业编写,包括完整的可编译的Android Studio 工程包,还包括可以直接在Android手机上安装的apk文件。该APP实现了所有黑白棋的功能和逻辑,还有背景音乐和翻转动画等效果。

2016-01-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除