JAVA
MR_LUXY
这个作者很懒,什么都没留下…
展开
-
Leetcode 138 和 Java的深拷贝
今天做到leetcode的138题,题目是返回一个拥有随机指针的链表的深拷贝。由于我是用Java做的,先深入复习一下Java的对象拷贝机制。Java类型和浅拷贝Java的类型分为值类型和引用类型。其中值类型包括所有的基本类型,char, boolean, int, double, float, long, short, byte。其他的类、接口、枚举和数组等都是引用类型。...原创 2020-01-30 19:24:20 · 387 阅读 · 0 评论 -
Bloom Filter (布隆过滤器) 介绍以及简单的Java实现
定义布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。从简单的定义可以看出,使用布隆过滤器目的是为了优化元素查找的性能,不过布隆过滤器提升的是得到这个元素(key)的存在性的性能。...原创 2020-01-01 18:09:03 · 1021 阅读 · 4 评论 -
Java获取Cookie特殊字符处理
今天在工作中遇到一个问题,用request对象getCookies的时候,发现如果Cookie的value里面带有一些特殊字符,是会在request中就被过滤掉,从而缺失特殊字符后面的内容。去查了一下,是因为RFC规范中规定了Cookie中不允许带有一些特殊字符,例如这一串:{ '\t', ' ', '\"', '(', ')', ',', ':', ';', '', '=', '>',原创 2016-07-13 23:11:27 · 4150 阅读 · 2 评论 -
二叉树系列--层序遍历(java实现)
记录两道题目:第一题:计算二叉树的深度,两行递归即可搞定。public static int level(Node root) { if (root == null) return 0; return level(root.left) + 1 > level(root.right) + 1 ? level(root.left) + 1 : level(root.rig原创 2015-09-19 19:52:02 · 6419 阅读 · 0 评论 -
java的四种引用
很多详细的东西在网上都可以找到,因为这个问题在面试中被提到过,所以特此做一个简单的笔记。java中有四种引用的方法(按照从强到弱):第一种:强引用,也就是一般的对象引用。特点是不管在什么时候,此引用的对象都不会被垃圾回收,JVM会在堆满的时候抛异常,也不会回收。。。第二种:软引用,使用格式:SoftRefrence o = new SoftRefrence(); 只要内存空间足够,就不原创 2015-09-05 22:53:53 · 618 阅读 · 0 评论 -
记录几个将来要看的问题
1.java的异常处理,包括finally的执行顺序细节2.java的并发线程安全解决办法,重点看重入锁3.外部排序原创 2015-09-05 23:43:59 · 570 阅读 · 0 评论 -
网易校园招聘java面试经历
之前投过阿里,无奈缺乏实战经验,算法能力也不够出众,面试的时候没什么可说的被刷。这次被通知过了电话面试,所以就去了现场面。这是我第一次过了所有轮的技术面最后面了HR面的经历,所以对我挺有意义的,所以想写下来。先说说之前的电话面吧,接到电话的时候我刚刚坐飞机在浦东机场降落,所以跟面试官约了第二天上午,第二天上午电话准时响起。网易的电面不像阿里的一样会有较长的前戏,当时阿里电面跟我聊了很多我研原创 2015-09-01 10:39:44 · 6574 阅读 · 7 评论 -
Tomcat能够在eclipse里启动,但是不能访问首页的问题
今天在使用eclipse的时候发现一个问题,就是我在eclipse里面已经启动了tomcat,部署上去的项目也可以启动,但是就是没法访问tomcat的首页,端口等等都没有问题。后来查到解决方案,在这里记录一下:1.进入控制台(console)标签旁边的服务器标签(server)2.双击已经存在的server3.把里面server locations这个选项卡里面 specify t原创 2015-07-13 15:22:24 · 743 阅读 · 0 评论 -
Java类生命周期详解--转载
最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面的知识比较匮乏,所以笔者今天就斗胆来讲一下这个问题,权当抛砖引玉,希望对在这个问题上有疑惑的朋友有所帮助,文中有说的不对的地方,也转载 2015-03-29 15:44:28 · 492 阅读 · 0 评论 -
JAVA的抽象类与接口
首先用我自己的理解,来描述一下我对java中的接口(狭义上的)和抽象类的理解。先来看接口,形如:public interface IncrementTool { public int increment(int a);}在接口中,我们定义方法的名称、参数列表和返回类型,但是没有方法的实现。然后我们可以写一些类去实现这个接口:public class Increment1 imp原创 2015-03-09 23:49:39 · 489 阅读 · 0 评论 -
重载和重写
长话短说。重载(overloading):相同的函数名,必须具有不同的参数列表,返回值可同可不同。最常见的是同一个类的不同参数列表的构造函数。重写(overriding):也称覆盖。必须具有相同的函数名和参数列表以及返回值,改变方法体。最常见的就是子类覆盖父类方法,使用子类实例调用方法时,调用的是子类的方法。原创 2015-03-21 00:06:19 · 567 阅读 · 0 评论 -
小问题记录:JAVA String.split
引用其他博主的一片博文,学习一下split的用法:原文地址http://yangzb.iteye.com/blog/1824761在java.lang包中有String.split()方法,返回是一个数组。 1、“.”和“|”都是转义字符,必须得加"\\"; 如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用Strin转载 2015-02-12 14:47:37 · 534 阅读 · 0 评论 -
java中String的相等判断(==和equals())详解
以前只是一直用equal来判断字符串变量是不是和某个定值相等,知道这样比较稳妥,但是我想有必要说说清楚这其中的原理。首先,引入java常量池的概念,也就是编译的时候,常量们会被确定在.class文件中,虽然String不是8种java常量之一,是一种对象,但是如果用如下的赋值,还是会成为常量。比如:String str1 = "cityu";String str2 = "cityu"原创 2015-02-12 14:59:41 · 22679 阅读 · 4 评论 -
NIO入门详解
NIO 入门JDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。本实用教程从高级概念到底层的编程细节,非常详细地介绍了 NIO 库。您将学到诸如缓冲区和通道这样的关键 I/O 元素的知识,并考察更新后的库中的标准 I/O 是如何工作的。您还将了解只能通过 NIO 来完成的工作,如异步 I/O 和直接缓冲区。转载 2015-02-11 16:54:41 · 878 阅读 · 0 评论 -
JAVA多线程
什么SOCKET,RMI都不想说了,我只想说,多线程如果发现有的线程好像被阻塞了,那么赶快调试一下,很有可能你根本就只启动了一个线程。而原因很有可能就是,我今天碰到的问题:在new线程的时候,千万不要用实名变量,一定要用匿名变量去run或者start,不然就只有一个线程会启动。别问我怎么知道的T T。原创 2015-02-11 01:31:59 · 473 阅读 · 0 评论