java
东豫虬髯
从前种种,譬如昨日死
以后种种,譬如今日生/2018/9/4
展开
-
Java关键字(一)——instanceof
https://www.cnblogs.com/ysocean/p/8486500.html转载 2020-06-04 10:56:10 · 166 阅读 · 0 评论 -
super关键字的用法
/*super关键字的用法有三种:1.在子类的成员方法中,访问父类的成员变量。2.在子类的成员方法中,访问父类的成员方法。3.在子类的构造方法中,访问父类的构造方法。 */public class Zi extends Fu { int num = 20; public Zi(){ super(); } public void methodZi(){ System.out.println(super.num); //父类中的nu转载 2020-06-03 14:14:07 · 761 阅读 · 0 评论 -
Java—重写与重载的区别
重写:1.发生在父类与子类之间2.方法名,参数列表,返回类型(除过子类中方法的返回类型是父类中返回类型的子类)必须相同3.访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)4.重写方法一定不能抛出新的检查异常或者比被重写方法申明更加宽泛的检查型异常重载 :1.重载Overload是一个类中多态性的一种表...原创 2019-08-22 09:20:00 · 607 阅读 · 0 评论 -
为什么HashMap线程不安全
HashMap会进行resize操作,在resize操作的时候会造成线程不安全。下面将举两个可能出现线程不安全的地方。1、put的时候导致的多线程数据不一致。这个问题比较好想象,比如有两个线程A和B,首先A希望插入一个key-value对到HashMap中,首先计算记录所要落到的桶的索引坐标,然后获取到该桶里面的链表头结点,此时线程A的时间片用完了,而此时线程B被调度得以执行,和线程A一样执行...转载 2019-08-16 13:50:59 · 110 阅读 · 0 评论 -
JDK8:HashMap源码解析:put方法
https://blog.csdn.net/weixin_42340670/article/details/80503369转载 2019-08-16 10:45:05 · 151 阅读 · 0 评论 -
JDK8:HashMap源码解析:remove方法、removeNode方法
https://blog.csdn.net/weixin_42340670/article/details/81139900转载 2019-08-16 10:24:50 · 189 阅读 · 0 评论 -
0-1背包问题
01背包问题,是用来介绍动态规划算法最经典的例子,网上关于01背包问题的讲解也很多,我写这篇文章力争做到用最简单的方式,最少的公式把01背包问题讲解透彻。01背包的状态转换方程 f[i,j] = Max{ f[i-1,j-Wi]+Pi( j >= Wi ), f[i-1,j] }f[i,j]表示在前i件物品中选择若干件放在承重为 j 的背包中,可以取得的最大价值。Pi表示第i件物品的...原创 2019-08-21 11:34:59 · 268 阅读 · 0 评论 -
HashMap和HashTale的区别?HashTable 和ConcurrenHashMap的区别?
首先:HashMap和HashTale的区别?相同点:HashMap和HashTale都可以用来存储key-value的数据区别:(1)HashMap是可以把null作为key或者value的,二HashTable是不可以的(2)HashMap是线程不安全的,效率较高,二HashTable是线程安全的,效率较低。怎么实现线程安全又保证高效率呢?使用ConcurrentHashMap通过...原创 2019-08-12 11:25:13 · 530 阅读 · 0 评论 -
Java 大白话讲解设计模式之 -- UML类图
https://www.jianshu.com/p/2828874af134转载 2019-08-25 09:56:20 · 162 阅读 · 0 评论 -
背包问题(01背包和完全背包)java求解
https://blog.csdn.net/ls5718/article/details/52227908转载 2019-08-25 09:55:20 · 143 阅读 · 0 评论 -
String、StringBuffer和StringBuilder区别
https://www.cnblogs.com/AmyZheng/p/9415064.html转载 2019-08-19 22:46:24 · 70 阅读 · 0 评论 -
JAVA new对象过程
https://blog.csdn.net/qq_38270106/article/details/89876626https://blog.csdn.net/Com_ma/article/details/82872907转载 2019-08-21 22:09:53 · 121 阅读 · 0 评论 -
访问控制修饰符
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限。default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)public : 对所有类可见。使用对象:类、接口、变量、方法protected : 对同...原创 2019-08-22 09:10:26 · 205 阅读 · 0 评论 -
AbstractQueuedSynchronizer源码
https://blog.csdn.net/u014683187/article/details/89302853转载 2019-08-30 16:10:28 · 81 阅读 · 0 评论 -
volatile为什么不能保证原子性
这篇文章讲的还挺好https://blog.csdn.net/xdzhouxin/article/details/81236356原创 2019-08-30 15:56:09 · 128 阅读 · 0 评论 -
轻松学习java可重入锁(ReentrantLock)的实现原理
https://blog.csdn.net/yanyan19880509/article/details/52345422/转载 2019-08-30 15:37:09 · 96 阅读 · 0 评论 -
背包问题(01背包和完全背包)java求解
https://blog.csdn.net/ls5718/article/details/52227908转载 2019-08-22 22:39:39 · 286 阅读 · 0 评论 -
如何解决高并发秒杀的超卖问题
https://www.cnblogs.com/wenbochang/p/10912459.html转载 2019-08-22 22:15:34 · 538 阅读 · 0 评论 -
什么是Java中的自动拆装箱
https://blog.csdn.net/wufaliang003/article/details/82347077转载 2019-08-22 22:14:16 · 89 阅读 · 0 评论 -
深入理解List的toArray()方法和toArray(T[] a)方法
https://blog.csdn.net/mucaoyx/article/details/86005283转载 2019-08-22 22:12:49 · 488 阅读 · 0 评论 -
JAVA对象的创建过程
https://blog.csdn.net/u012516166/article/details/76762610转载 2019-08-22 11:26:58 · 77 阅读 · 0 评论 -
Java中==和equals的区别(详细)
https://blog.csdn.net/zixiangli/article/details/79036268转载 2019-08-19 11:27:08 · 69 阅读 · 0 评论 -
java中Scanner类nextInt之后用nextLine无法读取输入
就像这个样子,先用nextInt()再用nextLine()不会有接收字符串的效果。首先,Scanner是一个扫描器,它扫描数据都是去内存中一块缓冲区中进行扫描并读入数据的,而我们在控制台中输入的数据也都是被先存入缓冲区中等待扫描器的扫描读取。这个扫描器在扫描过程中判断停止的依据就是“空白符”,空格啊,回车啊什么的都算做是空白符。nextInt()方法在扫描到空白符的时候会将前面的数据读取走...转载 2019-08-05 14:13:10 · 189 阅读 · 0 评论 -
Java中instanceof关键字的理解
java 中的instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。用法:result = object instanceof class参数:Result:布尔类型。Object:必选项。任意对象表达式。Class:必选项。任意已定义的对象类。说明:如果 objec...转载 2019-06-10 18:15:30 · 131 阅读 · 0 评论 -
浅谈 Integer 类
1、Integer 类简介2、Integer 类和 int 的区别3、Integer 的自动拆箱和装箱 ①、自动装箱 ②、自动拆箱4、回顾开头的问题5、测试突然发现自己对Integer i = 10;这种语法不太明白,于是乎有了这篇文章,那么在讲解 Integer 之前,我们先看下面这段代码:public static void main(String[] args) { ...转载 2018-12-13 09:57:49 · 128 阅读 · 0 评论 -
JAVA中 IO流文本文件的读取方式(一)(read 的用法)
JAVA中 IO流文本文件的读取方式(read 用法)第一种首先,我们先用通常的read方法去读代码import java.io.FileReader;import java.io.IOException;public class FileReaderdemo2{ public static void main(String args[])throws IOException{ ...转载 2018-12-03 16:02:37 · 1562 阅读 · 0 评论 -
java中read()方法返回值解释
当用fileinputstream流读取文件的时候,然后用fileinputstream.read()方法读取文件的时候,当我查看API的时候,发现read()是读取每个字节,然后返回一个int类型,有没有很纳闷,读取的字节,为什么返回一个int呢?FileInputStream.read()读取一个byte却返回一个int的原因如下:FileInputStream.read()返回一个uns...转载 2018-12-03 15:33:39 · 9887 阅读 · 2 评论 -
关于java I/O中flush方法作用的理解
今天在练习使用Serializable过程中,碰到java I/O中的flush()方法,有些不理解。以前没有用过这个函数,于是就查了一下,但是还是理解的不透彻,后来在论坛上看到一个吧友这样举例说明,瞬间就懂了 !哈哈,这个例子吧,虽然有些不雅,但是够通俗够精准!记下来与大家分享:下面是哪位吧友的原话:flush本意是冲刷,这个方法大概取自它引申义冲马桶的意思,马桶有个池子,你往里面扔东西,...转载 2018-12-03 09:36:20 · 593 阅读 · 0 评论 -
java mkdir()和mkdirs()区别
mkdirs()可以建立多级文件夹, mkdir()只会建立一级的文件夹, 如下:new File("/tmp/one/two/three").mkdirs();执行后, 会建立tmp/one/two/three四级目录new File("/tmp/one/two/three").mkdir();则不会建立任何目录, 因为找不到/tmp/one/two目录, 结果返回f...转载 2018-11-28 17:57:27 · 81 阅读 · 0 评论 -
The serializable class MyException does not declare a static final serialVersionUID field of type lo
The serializable class MyExceptiondoes not declare a static final serialVersionUID field oftype long错误提示是上面这句。结果我在类里加了一句:private static final long serialVersionUID = 1L;就好了!刚才翻了下百度,发现原来是:If a s...转载 2018-11-23 15:48:22 · 465 阅读 · 0 评论 -
File类基本用法
【例子1】创建一个新文件。import java.io.*;class hello{ public static void main(String[] args) { File f=new File("D:\\hello.txt"); try{ f.createNewFile(); }catch (Ex...转载 2018-11-28 21:33:52 · 263 阅读 · 0 评论 -
内部类上转型为接口
最近看到Java内部类这块,其中内部类上转型为接口理解了好半天才清楚一些,在此记录一下,加深印象,又不对的地方,欢迎各位朋友指正。原创 2018-11-21 20:17:31 · 235 阅读 · 0 评论 -
Integer.valueOf()与Integer.parseInt()区别
Integer.valueOf()与Integer.parseInt()区别String ageStr = request.getParameter("age");Integer age = Integer.valueOf(ageStr);int ageInt = Integer.parseInt(ageStr);Integer.parseInt()返回值为基本数据类型Integer....转载 2018-12-13 10:43:11 · 3213 阅读 · 0 评论 -
Integer.parseInt(s)与Integer.valueOf(s)的区别详解
一、Integer.parseInt(s)用法String s1 = "1000"; String s2 = "1000"; int n1 = Integer.parseInt(s1); int n2 = Integer.parseInt(s2); if (n1 == n2) { System.out.println...转载 2018-12-13 11:22:53 · 221 阅读 · 0 评论 -
反射详解
https://www.cnblogs.com/ysocean/p/6516248.html转载 2019-06-09 19:33:49 · 103 阅读 · 0 评论 -
instanceof是什么意思
这个关键字的用法是:A instanceof B ,返回值为boolean类型。用来判断A是否是B的实例对象或者B子类的实例对象。如果是则返回true,否则返回false。如:Person p = new Person() ; //Man m = new Man() ; //Man是Person的子类Animal a = new Animal() ;m instanceof Man ...转载 2019-05-06 16:53:42 · 3597 阅读 · 0 评论 -
RPC原理简析——三分钟看完
概述RPC(Remote Procedure Call)远程过程调用,概念就不再赘述了。个人的理解,不管是什么样的RPC框架,总体思路都是服务提供方暴露服务,消费方通过服务方提供的接口使用动态代理获取代理对象,然后调用代理对象的方法,代理对象在内部进行远程调用,获得计算结果。简要示意图如下图所示:在这个过程中,有两处关键点。第一是获取代理对象,第二是代理对象与服务提供方建立连接。对于获取代理...转载 2019-05-06 16:51:34 · 206 阅读 · 0 评论 -
Java的三种代理模式
1.代理模式代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法举个例子来说明代理的作用:假设我们想邀请一位明星,那么并不是直接连接明星,而是联系明星的...转载 2019-05-06 16:13:20 · 65 阅读 · 0 评论 -
java中getClass()方法简介
getClass() 返回此 Object 的运行时类。一、示例代码:public class Test { public static void main(String[] args) { Person p = new Person(1,"刘德华"); System.out.println(p.getClass()); Syst...转载 2019-05-06 15:36:52 · 376 阅读 · 0 评论 -
Double和Float中的NaN、Infinite等常量字段详解
在采用Java进行数值运算,特别是double和float时,经常会遇到需要判断某个数是否为一个数(NaN)、是否为无(Infinite)。一个数都已经是double或者float数据类型的了,为什么还说它不是一个数(Not a Number)呢?这就要从数学上来说了。对于除法,一个数与另一个数的运算存在以下几种情况:显然,在实际的Java数值运算中,以上四种情况都需要考虑到,并且实际使用中...转载 2019-04-21 11:43:07 · 781 阅读 · 0 评论