- 博客(24)
- 资源 (34)
- 收藏
- 关注
原创 Map遍历与删除元素
package net.nie.test; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class HashMapTest { private static Map map=new HashMap();
2017-06-26 13:42:50 334
原创 JAVA多态经典实例
通过上面的讲述,可以说是对多态有了一定的了解。现在趁热打铁,看一个实例。该实例是有关多态的经典例子,摘自:http://blog.csdn.net/thinkGhoster/archive/2008/04/19/2307001.aspx。public class A { public String show(D obj) { return ("A and D")
2017-06-26 11:26:39 3143
转载 Java中Lock,tryLock,lockInterruptibly 区别
ReentrantLock 锁有好几种,除了常用的lock ,tryLock ,其中有个lockInterruptibly 。先把API粘贴上来lockpublic void lock()获取锁。如果该锁没有被另一个线程保持,则获取该锁并立即返回,将锁的保持计数设置为 1。如果当前线程已经保持该锁,则将保持计数加 1,并且该方法立即返回。如果该锁被另一个线程保持,则出于线程调
2017-06-26 10:07:45 274
转载 多线程之指令重排序
1、首先为何要指令重排序(instruction reordering)?编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。也就是说,对于下面两条语句:int a = 10;int b = 20;在计算机执行上面两句话的时候,有可能第二条语句会先于第一条语句执行。所以,千万不要随意假设指令执行的顺序。2、是不是所有的语句的执行顺
2017-06-21 16:38:42 223
原创 Java并发编程实践---第二章:线程安全性
如果当多个线程访问同一个可变的状态变量时没有使用合适的同步,那么程序就会出现错误。有三种方式可以修复这个问题:1.不在线程之间共享该状态变量。2.将状态变量修改为不可变的变量。3.在访问状态变量时使用同步。 线程安全性:当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么就称这个类是线程安全的。
2017-06-21 10:39:41 201
原创 死锁相关问题
两个线程或两个以上线程都在等待对方执行完毕才能继续往下执行的时候就发生了死锁。结果就是这些线程都陷入了无限的等待中。使用多线程的时候,一种非常简单的避免死锁的方式就是:指定获取锁的顺序,并强制线程按照指定的顺序获取锁。因此,如果所有的线程都是以同样的顺序加锁和释放锁,就不会出现死锁了。
2017-06-19 16:28:21 235
原创 线程状态
1. 新建( new ):新创建了一个线程对象。2. 可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获 取 cpu 的使用权 。3. 运行( running ):可运行状态( runnable )的线程获得了 cpu 时间片( timeslice ) ,执行程序
2017-06-19 16:22:48 231
原创 Java传值还是传引用问题
Java中只有按值传递,没有按引用传递! 转载:今天,我在一本面试书上看到了关于java的一个参数传递的问题:写道java中对象作为参数传递给一个方法,到底是值传递,还是引用传递? 我毫无疑问的回答:“引用传递!”,并且还觉得自己对java的这一特性很是熟悉!结果发现,我错了!答案是:值传递!Java中只有按值传递,没有按引用
2017-06-19 16:10:06 284
原创 接口和抽象类的区别
从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。Java提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于:接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。类可以实现很多个接口,但是只能继承一个抽象类类可以不实现抽象类和接口声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的。抽象类可
2017-06-19 16:00:12 231
原创 Java,bit比特,byte字节,char字符,short,int,long,float,double,string,字母,汉字/编码等
如题,做个重新认识的总结,只供参考,如果不准确的,请回复,谢谢bit: 1 bit位 = 1 二进制数据byte: 1 byte = 8 bit位 (-128 ~ 127)字母: 1 字母 = 1 byte = 8 bit(位)short: 16位char: Unicode字符,16bit位int: 32bit位,比如int 类型占用
2017-06-19 15:49:43 561
原创 方法重写与重载
方法重写的原则:重写方法的方法名称、参数列表必须与原方法的相同,返回类型可以相同也可以是原类型的子类型(从Java SE5开始支持)。 重写方法不能比原方法访问性差(即访问权限不允许缩小)。 重写方法不能比原方法抛出更多的异常。 被重写的方法不能是final类型,因为final修饰的方法是无法重写的。 被重写的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行重写
2017-06-19 15:49:17 671
原创 JRE和JDK区别
JRE: Java Runtime Environment JDK:Java Development KitJRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库。是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用
2017-06-19 15:28:43 222
原创 Java 7 新的 try-with-resources 语句,自动资源释放
从 Java 7 build 105 版本开始,Java 7 的编译器和运行环境支持新的 try-with-resources 语句,称为 ARM 块(Automatic Resource Management) ,自动资源管理。新的语句支持包括流以及任何可关闭的资源,例如,一般我们会编写如下代码来释放资源:private static void customBufferStreamC
2017-06-18 16:36:28 197
原创 UML类图中箭头和线条的含义和用法
UML类图中箭头和线条的含义和用法在学习UML过程中,你经常会遇到UML类图关系,这里就向大家介绍一下UML箭头、线条代表的意义,相信通过本文的介绍你对UML中箭头、线条的意义有更明确的认识。AD:本节向大家学习一下UML箭头、线条代表的意义,UML中关系主要有依赖,聚合,合成,泛化和实现等,下面就让我们来看一下这些关系如何用UML箭头和线条来实
2017-06-15 17:05:35 276
原创 leetCode刷题记录 Sort Colors
Given an array with n objects colored red, white or blue, sort them so that objects of the same color are adjacent, with the colors in the order red, white and blue.Here, we will use the integers
2017-06-15 16:07:04 220
原创 LeetCode刷题记录 First Missing Positive
Given an unsorted integer array, find the first missing positive integer.For example,Given [1,2,0] return 3,and [3,4,-1,1] return 2.Your algorithm should run in O(n) time and uses constant
2017-06-15 14:23:03 131
原创 Spring IOC 学习
Spring IOC目的: Spring相当于一个容器,它通过配置文件或注解描述类何磊之间的依赖关系,自动完成类的初始化和依赖注入工作。 让开发者从这些底层实现类的实例化、依赖关系装配等工作中脱离出来。
2017-06-13 20:35:32 125
原创 LeetCode刷题记录 Single Element in A Sorted Array
Given a sorted array consisting of only integers where every element appears twice except for one element which appears once. Find this single element that appears only once.Example 1:Input: [
2017-06-13 14:11:31 181
原创 leetCode 刷题记录 Candy
QuestionThere are N children standing in a line. Each child is assigned a rating value.You are giving candies to these children subjected to the following requirements:Each child must have a
2017-06-09 13:26:37 328
原创 leetCode 刷题记录 Remove Nth Node From End of List
QuestionGiven a linked list, remove the nth node from the end of list and return its head.For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from th
2017-06-07 22:32:56 211
转载 Redis List数据类型
一、概述: 在Redis中,List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键创建一个新的链表。与此相反,如果链表中所有的元素均被移除,那么该键也将会被从数据库中删除。List中可以包含的最大元素数量是4294967295。 从元素插入和
2017-06-07 16:00:09 284
原创 leetcode刷题记录:Longest Common Prefix
QuestionWrite a function to find the longest common prefix string amongst an array of strings.SolutionApproach #1 (Horizontal scanning)IntuitionFor a start we will describe
2017-06-06 17:23:55 322
原创 eclipse运行报java.lang.OutOfMemoryError: PermGen space解决方法
点击“Run” – “Run Configurations…”,选中Tomcat Server,进入Arguments分页,在VM arguments中加入提升初始分配空间的参数 第一步: 第二步:加入参数 -Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=256M 1、PermGen space简介Pe
2017-06-06 14:45:50 214
原创 leetcode刷题记录--Two Sum
QuestionGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not u
2017-06-05 15:57:24 195
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人