java
文章平均质量分 85
Dreamer who
=== Happiness isn't something you experience; it's something you remember.
展开
-
java并发编程之Future.get() 在线程池配置RejectedExecutionHandler为ThreadPoolExecutor.DiscardPolicy策略时一直阻塞
1、我们先简单复现这种情况:package com.sdcuike.java11;import java.util.concurrent.*;import com.google.common.util.concurrent.ThreadFactoryBuilder;public class Demo { public static void main(String[] args) throws ExecutionException, InterruptedExcepti...原创 2021-04-13 00:05:56 · 867 阅读 · 3 评论 -
性能优化之异步日志
如果项目日志info级别打的特别多的情况下,打印日志也有可能把系统拖垮。 所以项目中一般打印日志会使用异步AsyncAppender打印日志。 先看下官方文档的介绍,AsyncAppender 会把处理的事件缓存到一个阻塞队列,默认情况下达到队列容量的80%的时候,会丢弃TRACE, DEBUG and INFO级别的事件,根据默认配置neverBlock=false,队列也会发生阻塞,所以设置true,虽然完全是非阻塞但会丢失日志,特别是err...原创 2021-03-27 11:31:21 · 1072 阅读 · 0 评论 -
java之Compiler control
Controlling Java Virtual Machine (JVM) compilers might seem like an unnecessary task,but for many developers, this is an important aspect of testing. This is accomplished withmethod-dependent compil...原创 2020-02-07 20:41:45 · 478 阅读 · 0 评论 -
java9新特性-Stack Walking-当前线程栈信息
java语言是基于栈的设计语言,其执行的本质与c、c++语言一样,程序的运行都是一系列进栈出栈操作。JVM中的每个线程启动时都有一个私有的JVM线程栈会创建。栈这种数据结构就是我们常谈到的数据结构中的栈-后进先出的数据结构。栈保存了一系列栈帧,每当一个方法执行时都会伴随着新的栈帧的创建并进栈顶,方法执行完也都会伴随着对应的栈帧的销毁-出栈操作。有关具体细节可以参考https://docs.orac...原创 2019-10-26 23:49:22 · 614 阅读 · 0 评论 -
java9新特性-增强的try-with-resources块
java7新增了自动关闭资源的特性,碰到异常的时候,我们不必再写一堆啰嗦的处理代码,而是简洁的如下: try (ServerSocket socket = new ServerSocket(8090)) { System.out.println(socket); }或者多个资源的情况下: try (ServerSocket socket = ...原创 2019-10-22 01:08:37 · 559 阅读 · 0 评论 -
java10新特性:本地变量(local variable)-var类型推断
本地变量(local variable)-var类型推断,一种java语法糖,编译器根据代码上下文信息--字面量值、方法调用、声明等,推断变量类型,并且把类型信息添加到对应的生成的字节码里。先来个例子:public class TypeInference { public static void main(String[] args) { var time = L...原创 2019-10-19 20:06:51 · 5862 阅读 · 0 评论 -
JAVA 线程死锁,以及linux 命令和jstack 命令 查看线程死锁状态信息
/* * Copyright (C) 2009 The doctor Authors * https://github.com/doctorwho1986 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compli原创 2014-09-07 10:42:35 · 4675 阅读 · 0 评论 -
java 异常处理
try }finally{原创 2014-10-02 16:57:56 · 3610 阅读 · 0 评论 -
volatile语义
package com.github.jdk.java_util_concurrent;import java.util.Random;import java.util.concurrent.TimeUnit;import org.junit.Test;/** * * @author @link http://www.blogjava.net/xy翻译 2014-10-10 21:41:50 · 586 阅读 · 0 评论 -
Java concurrency (multi-threading) - Tutorial
Java concurrency (multi-threading) - TutorialLars VogelVersion 2.3Copyright © 2008, 2009, 2010, 2011, 2012, 2013 Lars Vogel02.08.2013Revision转载 2014-10-12 10:27:06 · 1052 阅读 · 0 评论 -
继承体系下除了overridden 技术外使得子类与父类表现出不同行为外,反射也可以,而且反射使得继承不需要overridden
/** * This small example is more dramatic than it seems—it contains each of the * steps previously mentioned. The printName method examines the object for its * class (this.getClass()). In doing so原创 2014-11-28 09:38:11 · 826 阅读 · 0 评论 -
Java – Read a file from resources folder
Java – Read a file from resources folderPosted on July 30, 2014By mkyongIn this tutorial, we will show you how to read a file from a resources folder, in转载 2014-12-01 17:47:32 · 1434 阅读 · 0 评论 -
Java中属性和字段的区别 ,很多人都分不开吗.尤其是反射技术之上的mybatis,spring配置,jstl 标签
Java中的属性,通常可以理解为其属名性时根据get和set方法名得出的。而字段,通常叫做“对象成员”。其规则是:去掉get或set后其剩余的字符串,如果第二个字母是小写的,则把第一个字母也变成小写getAge---->agegetCPU---->CPU属性只局限于类中方法的声明,并不与类中其他成员相关,属于javabean的范畴。例如:void原创 2015-01-12 23:07:47 · 919 阅读 · 0 评论 -
java8 新增的@Repeatable注解
java8 新增的@Repeatable注解原创 2015-02-03 21:14:59 · 6437 阅读 · 0 评论 -
Java Reflection Tutorial for Classes, Methods, Fields, Constructors, Annotations and much more
Reflection in java provides ability to inspect and modify the runtime behavior of applications. Reflection is one of the advance topic of core java. Using reflection we can inspect a class,interface转载 2014-12-27 19:57:11 · 1074 阅读 · 0 评论 -
java8 函数引用 -> 一种利用现有函数简单推理为函数表达式即简化的函数表达式
java8 函数引用 -> 一种利用现有函数简单推理为函数表达式即简化的函数表达式原创 2015-02-04 12:55:56 · 1524 阅读 · 0 评论 -
Multiple Inheritance in Java and Composition vs Inheritance
Sometime back I wrote few posts about inheritance, interface and composition in java. In this post, we will look into multiple inheritance and then learn about benefits of composition over inheritan转载 2014-12-27 20:23:29 · 879 阅读 · 0 评论 -
Java Exception Handling Tutorial with Examples and Best Practices
Exception is an error event that can happen during the execution of a program and disrupts its normal flow. Java provides a robust and object oriented way to handle exception scenarios, known as Java转载 2014-12-27 20:43:51 · 1281 阅读 · 0 评论 -
Difference between Abstract Class and Interface in Java
Abstract Class and Interface are core part of java programming language and whether to chose interface or abstract class or Interface while designing our system is a design decision that every archi转载 2014-12-27 23:45:38 · 780 阅读 · 0 评论 -
Java – Convert String To Enum Object
Review below Java enum example, how to convert a String like ‘arin’ to WhoisRIR.ARIN Enum object?1. ProblemWhoisRIR rir = //convert 'arin' to enum WhoisRIR.ARIN ?WhoisRIR.java转载 2015-01-18 10:49:52 · 1369 阅读 · 0 评论 -
什么是lambda expressions in java
1. lambda expressions are used primarily to define inline implementation * of a functional interface i.e. an interface with a single method only. * * 2.Lambda expression ellimina原创 2015-01-18 17:11:01 · 810 阅读 · 0 评论 -
slf4j如何打印java异常堆栈信息throwable对象
slf4j如何打印java异常堆栈信息throwable对象原创 2015-02-06 19:29:51 · 21988 阅读 · 2 评论 -
Comparable vs. Comparator in Java
Comparable and Comparator are two interfaces provided by Java Core API. From their names, we can tell they may be used for comparing stuff in some way. But what exactly are they and what is the diff转载 2015-01-03 14:31:47 · 847 阅读 · 0 评论 -
Overriding vs. Overloading in Java
Overriding vs. Overloading in Java By X WangOverriding and Overloading are two very important concepts in Java. They are confusing for Java novice programmers. This转载 2015-01-03 14:47:58 · 1340 阅读 · 0 评论 -
Diagram to show Java String’s Immutability
Here are a set of diagrams to illustrate Java String's immutability.1. Declare a stringString s = "abcd";s stores the reference of the string object. The arrow below shou转载 2015-01-03 11:32:05 · 830 阅读 · 0 评论 -
The substring() Method in JDK 6 and JDK 7
The substring(int beginIndex, int endIndex) method in JDK 6 and JDK 7 are different. Knowing the difference can help you better use them. For simplicity reasons, in the followingsubstring() represen转载 2015-01-03 11:33:20 · 702 阅读 · 0 评论 -
How to Check if an Array Contains a Value in Java Efficiently?
How to check if an array (unsorted) contains a certain value? This is a very useful and frequently used operation in Java. It is also a top voted question on Stack Overflow. As shown in top voted answ转载 2015-01-03 11:55:16 · 648 阅读 · 0 评论 -
如何避免错误使用 Enum
Enum 类型的介绍枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中。而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似。不过相比较常量类型,枚举类型可以为申明的变量提供更大的取值范围。举个例子来说明一下,如果希望为彩虹描绘出七种颜色,你可以在 Java 程序中通过常量定义方式来实现。清单 1.转载 2015-01-05 17:57:05 · 852 阅读 · 0 评论 -
java自定义Annotation,得到注解类中Annotation设定的注解值
注解类中Annotation设定的注解值原创 2015-01-24 15:49:13 · 3695 阅读 · 0 评论 -
Java Closures
Java ClosuresIn this article, I will explain what a closure is and clear the confusion surrounding anonymous inner classes and closures, then java’s current situation with respect to closures. First I转载 2015-02-16 16:04:51 · 744 阅读 · 0 评论 -
Performance comparison of different ways to iterate over HashMap
Performance comparison of different ways to iterate over HashMapWe have already learned about how HashMap in java works internally. If my last similar post, I tried to compare different “for loop” flav转载 2015-02-15 22:15:30 · 735 阅读 · 0 评论 -
30 Java Programming Tips and Best Practices for Beginners
Java is one of the most popular programming languages – be it Win applications, Web Applications, Mobile, Network, consumer electronic goods, set top box devices, Java is everywhere.More than 3 Bill转载 2015-06-19 23:45:36 · 1085 阅读 · 0 评论 -
Exception Handling Guidelines & Best Practices
Let’s review some basic exception design guidelines, summarized from Object Design: Roles, Responsibilities, and Collaborations (Rebecca Wirfs-Brock and Alan McKean, Addison-Wesley, 2003).Don’t try转载 2015-06-19 23:55:10 · 645 阅读 · 0 评论 -
Runtime vs Compile-Time Classpath
This should really be a simple distinction, but I’ve been answering a slew of similar questions on Stackoverflow, and often people misunderstand the matter.So, what is a classpath? A set of all the转载 2015-06-19 23:57:04 · 978 阅读 · 0 评论 -
更好的Java
本文由 ImportNew - paddx 翻译自Better Java。欢迎加入翻译小组。转载请见文末要求。Java是最流行的语言之一,但是似乎没人喜欢使用它。好吧,Java仅仅是一种“还好”的编程语言。自从Java 8的面世,我决定编辑一个关于Java的列表,包括库、最佳实践以及工具让我们能更好的使用Java。 这篇文章在Github上,你可以自由的添加你所使用到的一些转载 2015-06-26 23:49:24 · 716 阅读 · 0 评论 -
5 Techniques to Improve Your Server Logging
Lately we’ve seen a variety of new tools that help you make sense of your logs. Open-source projects such as Scribe and LogStash, on-premise tools like Splunk, and hosted services such as SumoLogic an转载 2015-06-27 00:04:42 · 633 阅读 · 0 评论 -
5 Coding Hacks to Reduce GC Overhead
In this post we’ll look at five ways in which we can use efficient coding to help our garbage collector spend less CPU time allocating and freeing memory, and reduce GC overhead. Long GCs can often le转载 2015-06-27 00:07:14 · 652 阅读 · 0 评论 -
JVM Performance Magic Tricks
HotSpot, the JVM we all know and love, is the brain in which our Java and Scala juices flow. Over the years, it’s been improved and tweaked by more than a handful of engineers, and with every iteratio转载 2015-06-27 00:10:28 · 624 阅读 · 0 评论 -
10个精妙的Java编码最佳实践
本文由 ImportNew - liken 翻译自 jooq。欢迎加入翻译小组。转载请见文末要求。这是一个比Josh Bloch的Effective Java规则更精妙的10条Java编码实践的列表。和Josh Bloch的列表容易学习并且关注日常情况相比,这个列表将包含涉及API/SPI设计中不常见的情况,可能有很大影响。我在编写和维护jOOQ(Java中内部DSL建模的转载 2015-06-26 23:56:49 · 842 阅读 · 0 评论 -
10种简单的Java性能优化
本文由 ImportNew - 一直在路上 翻译自 jaxenter。欢迎加入翻译小组。转载请见文末要求。你是否正打算优化hashCode()方法?是否想要绕开正则表达式?Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧。最近“全网域(Web Scale)”一词被炒得火热,人们也正在通过扩展他们的应用程序架构来使他们的系统变得更加“全网域”。但是究竟转载 2015-06-26 23:55:31 · 691 阅读 · 0 评论