随笔分类 - Java
1
摘要:说明:本文的内容是看了《深入理解Java虚拟机:JVM高级特性与最佳实践》后为加印象和理解,便记录了重要的内容。 1 开门见山 以前曾经看到过一个java的面试题,当时觉得此题很简单,可是自己把代码运行起来,可是结果并不是自己想象的那样。题目如下: 错误答案 count1=1 count2=1 正确
阅读全文
摘要:http://ifeve.com/executorservice-10-tips-and-tricks/
阅读全文
摘要:理解零拷贝 零拷贝是Netty的重要特性之一,而究竟什么是零拷贝呢? WIKI中对其有如下定义: “Zero-copy” describes computer operations in which the CPU does not perform the task of copying data
阅读全文
摘要:转自:https://my.oschina.net/cloudcoder/blog/299944 摘要: java 的zero copy多在网络应用程序中使用。Java的libaries在linux和unix中支持zero copy,关键的api是java.nio.channel.FileChann
阅读全文
摘要:解决的问题 当我们有多个消息的生产者线程,一个消费者线程时,他们之间如何进行高并发、线程安全的协调? 很简单,用一个队列。 当我们有多个消息的生产者线程,多个消费者线程,并且每一条消息需要被所有的消费者都消费一次(这就不是一般队列,只消费一次的语义了),该怎么做? 这时仍然需要一个队列。但是: 1.
阅读全文
摘要:来自: http://www.blogjava.net/zJun/archive/2006/06/28/55511.html Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以
阅读全文
摘要:转:http://blog.csdn.net/sunjin9418/article/details/53143588 将一个顺序执行的流转变成一个并发的流只要调用 parallel()方法 public static long parallelSum(long n){ return Stream.i
阅读全文
摘要:感谢同事【天锦】的投稿。投稿请联系 tengfei@ifeve.com上篇文章Java8初体验(一)lambda表达式语法比较详细的介绍了lambda表达式的方方面面,细心的读者会发现那篇文章的例子中有很多Stream的例子。这些Stream的例子可能让你产生疑惑,本文将会详细讲解Stream的使用
阅读全文
摘要:1. 介绍 2 接口的默认方法 2 lambda表达式 2.1 函数式接口 2.2 方法与构造函数引用 2.3 访问局部变量 2.4 访问对象字段与静态变量 3. 内建函数式接口 3.1 Predicate接口 3.2 Function 接口 3.3 Supplier 接口 3.4 Consumer
阅读全文
摘要:在Java代码中发现一个bug,就是本来更新为时间的内容更新为一些奇怪的内容,比如20819这种形式,本来更新的时间都是近期不会超过一年, 为什么会出现这种情况,非常奇怪,遂调试下代码,跟踪发现要匹配的字符串内容和预想的日期格式不符合,代码处理这种情况是抛出异常, 然后用今天的日期替代,结果没成功,
阅读全文
摘要:solr6.0的solrJ接口有部分变化,下面列出了简单的使用实例,有需要的朋友可以参考下。
阅读全文
摘要:最近是被这个snmp的trap给坑了,其实回想起来主要是对这个不了解。特别是对snmp协议研究不够深入, 真的不想看这些协议东西,只想大概知道。结果在开发snmp trap时候被坑了,下面列下自己踩到的坑: 1、snmp的trap的中文问题 本来在自己的机器上运行挺好,但是测试说发现乱码,内心直呼不
阅读全文
摘要:让我们从下面的语句开始: String x = null; 1. 这个语句具体的做了什么? 回一下什么是变量和什么是值。通常的比喻是变量类似于一个盒子。 就像你可以用盒子来存储东西一样,你可以用变量来存储值。 当声明一个变量的时候,我们需要设置它的类型。 Java的类型主要有两种分类:基本类型和引用
阅读全文
摘要:1、在Java中什么是可变参数 可变参数是在Java1.5中引入的特性。它准许一个方法 public static void main(String[] args) { print("a"); print("a", "b"); print("a", "b", "c"); } public stati
阅读全文
摘要:如何检查一个数组(非排序的)是否包含特定的值。这是个非常有用或经常被在Java中使用。这是个在Stack Overflow中高得票的问题。在已经高得票的答案中,有许多不同的处理方法,但是时间的复杂度非常不同。在下面,我将会展示每种方法的时间花费。 一、四种不同的方法去检查一个数组包含特定的值 1)
阅读全文
摘要:这个是Java的经典问题。许多类似的问题在stackoverflow被提问,有很多不正确或不完备的答案。如果不想太多你会认为这个问题比较简单。( The question is simple if you don't think too much.)如果你想的多的话,它会非常让你困扰。 1、 下面的
阅读全文
摘要:首先你可以快速回答下面问题吗。当没有任何IDE的情况下,如何得到一个数组的长度,如何得到一个String的长度。我问这个了很对不同水平的开发者:初级的中级的。他们不能快速正确的回答这个问题。当IDE提供快速的补全功能时候,也带了这个问题的“表面理解“。在这个文章中,我将解释关于Java数组的几个概念
阅读全文
摘要:在Java中,一个字符串可以通过下面两种方法创建。 String x = "abc"; String y = new String("abc"); 用双引号创建和用构造函数创建有什么区别那?1、 双引号vs构造函数这个问题可以通过下面两个简单的例子来回答。 例子1: String a = "abcd
阅读全文
摘要:String在Java中是个不可更改的类。一个不可更改的类简单来说就是这个类的所有实例是不可以更改的。所有的实例信息在创建的时候被初始化而且信息是不可以更改的。不可更改的类有很多好处。这篇文章总结了为什么String被设计成不可以改变的。一个好的回答需要深入理解内存、同步和数据结构等。1、 字符串池
阅读全文
摘要:这里有一堆例子来说明Java的String的不可变性。 1、声明一个String String s = "abcd"; s 变量保存string对象的引用,下面的箭头解释成保存了哪个对象的引用。 2、 给一个String 变量赋值为另外一个String 变量。 String s2 = s; Stri
阅读全文
1