
JAVA
文章平均质量分 59
一切皆对象
问题不大的
礼多人不怪
展开
-
Design Pattern Classification
CreationalSingleton Factory method Abstract factory Builder PrototypeBehavioralState Strategy Observer Vistor Command Chain of Resposibility Template method Iterator Mediator Interpreter MementoStructuralProxy Decorator Bridge Facade原创 2021-03-31 09:06:57 · 210 阅读 · 0 评论 -
snmp4j 简介
模块 org.snmp4j包org.snmp4j该模块提供了用于创建、发送、接受snmp消息的类和接口。一个snmp消息由消息头和它的协议数据(PDU)报文组成。这个模块包含了三组主要类和接口:用于snmp消息、目标创建的类 用于snmp消息发送的类 用于snmp消息分发的类下面的UML包图展示了核心snmp4j api包的依赖关系。使用这些api的用户一般只需要直接用org.snmp4j和org.snmp4j.smi这两个包下面的UML类图展示了org.snmp4j包中的主要类以原创 2021-02-20 15:35:32 · 4772 阅读 · 0 评论 -
Ubuntu install openjdk
env:OS: Linux Ubuntu-TI 4.14.79-g822dccd840-r3220a1aim20liv20005 #1 PREEMPT Thu Jul 9 03:54:31 UTC 2020 armv7l armv7l armv7l GNU/Linux内核架构: armhf1. sudo apt-cache search openjdk2. sudo apt-get install openjdk-11-jdk原创 2020-12-23 11:29:05 · 580 阅读 · 0 评论 -
AtomicLong和LongAdder用例
根据实际的场景使用,并发数多时,建议使用LongAdder,反之用AtomicLongpackage adder;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.atomic.AtomicLong;import java.util.concurrent.atomic.LongAdder;public class .原创 2020-12-11 09:10:25 · 221 阅读 · 0 评论 -
java中获取Unsafe对象的两种方法
两种方法可以获取到Unsafe实例1. 把要获取Unsafe实例的类所在jar包路径追加到默认的bootstrap路径中。 Unsafe类为一单例实现,提供静态方法getUnsafe获取Unsafe实例,当且仅当调用getUnsafe方法的类为引导类加载器所加载时才合法,否则抛出SecurityException异常。2. 反射获取 private static Unsafe getUnsafe() { try { Field field..原创 2020-12-10 15:15:39 · 2017 阅读 · 0 评论 -
java concurrent Lock
锁是一种工具,用于控制资源的并发访问为什么synchronized不够用1. 效率低: 锁的释放情况少、试图获得锁时不能设定超时、不能中断一个正在试图获得锁的线程2. 不够灵活3. 不知道是否能够获得锁一、接口Lock.java1. void lock()2. void unlock()3. boolean tryLock() Lock lock = ...; if (lock.tryLock()) { try { // manipulate p.原创 2020-12-10 09:36:17 · 272 阅读 · 0 评论 -
为何要使用ThreadLocal?
1. 线程间隔离,每个线程都拥有自己独立的对象2. 在任何方法中可以轻松获取到对象原创 2020-12-09 13:19:39 · 3006 阅读 · 3 评论 -
并发工具类-分类
1. 并发安全互斥同步: 使用锁 synchronized, ReentrantLock,ReadWriteLock... 使用工具类 Collections.syschronizedList() ,Vector非互斥同步: atomic包,原子类无同步方案: ThreadLocal2. 管理线程、提高效率3. 线程写作...原创 2020-12-08 07:56:38 · 149 阅读 · 0 评论 -
String不可变类,真的不可变吗?
public static void main(String[] args) throws Exception { String s = "ctx application"; Field field = String.class.getDeclaredField("value"); field.setAccessible(true);...原创 2020-01-08 09:57:29 · 284 阅读 · 0 评论 -
wsdl生成java代码
wsimport -encoding utf-8 -keep -s d:\temp -p com.citytouch.schemas.coresystem2.v1 -verbose D:\ctx\dp\CoreSystemServices2-20191213.wsdl-encoding : 指定编码格式-keep:是否生成java源文件-d:指定.class文件的输出目录-s...原创 2019-12-30 16:57:40 · 384 阅读 · 1 评论 -
局部类(local class)
局部类是指那些被定义在块中的类,在大括号中由0条或者多条语句组成。典型的,你可以发现定义在一个方法体的局部类。 这节覆盖如下内容:定义局部类访问封装类中的成员 覆盖局部类局部类和内部类相似定义局部类 你可以在任何块中定义一个局部类。例如,你可以再一个方法体重、一个for循环中、一个if语句块中。 下面例子,LocalClassExample,校验两个电话号码,在方法原创 2017-02-24 15:16:00 · 3238 阅读 · 0 评论 -
内部类(inner class)
为了查看内部类使用,首先考虑用一个数组。下面的例子中,你创建一个数组,存放整数。然后按升序顺序输出。 DataStructure.java包含以下部分:外部类DataStructure包含一个构造器来创建实例,这实例包含一组连续的整数值(0,1,2,3等等)和一个打印元素的方法。内部类EventIterator,实现了DataStructureIterator接口,这接口继承Iterator<原创 2017-02-24 13:45:32 · 689 阅读 · 0 评论 -
嵌套类(Nested Class)
嵌套类静态嵌套类非静态嵌套类(内部类【inner class】)class OuterClass{ //... class NestedClass{ //... }}class OuterClass{ //... static class NestedClass{} class InnerClass{}} 嵌套类是它所原创 2017-02-24 13:15:44 · 2034 阅读 · 0 评论 -
Lambda表达式
Lambda表达式介绍官方文档翻译(java tutorials) 自己翻译了官方文档的这一部分,希望能够对自己Lambda表达式有更进一步的了解,同时也希望能够对大家有帮助。英语有点蹩脚,有待提高 .^_^. 匿名类存在的一个问题,当这个匿名类的实现非常简单时,如仅包含一个方法,那么这个匿名类的语法看起来会很笨拙和模糊不清。这种情况,你通常试图给另一个方法传递函数作为参数,如,点击按原创 2017-02-22 23:22:44 · 826 阅读 · 0 评论 -
JAVA中serialVersionUID的解释
引用:http://www.blogjava.net/invisibletank/archive/2007/11/15/160684.htmlserialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。有两种生成方式: 一个是默认的1L,比如:private static final long s转载 2016-12-18 21:28:53 · 824 阅读 · 0 评论 -
从代理设计模式到Spring AOP
例子场景:打架 如: 桃花岛比武抢亲之战 —— 郭靖与欧阳克 华山论剑正邪之战 —— 北丐洪七公和西毒欧阳峰 小朋友梦想之战 —— 奥特曼与铠甲勇士 …这些战斗之中,都要打架,但是打架之前需要有一些前期准备,打架(实战)工作由目标对象实现,而前期的准备(练功)工作则由代理对象实现。静态代理实现方式一真实打架行为接口:public interface IRealFight{ void原创 2016-11-24 19:17:38 · 2093 阅读 · 0 评论 -
jdk11 new features
181.Nest-Based Access Control309.Dynamic Class-File Constants315.Improve Aarch64 Intrinsics318.Epsilon: A No-Op Garbage Collector320.Remove the Java EE and CORBA Modules321.HTTP Client(Stand...转载 2018-11-08 09:22:51 · 326 阅读 · 0 评论 -
java反射实战
《Java反射实战》—— Ira R.Forman 、Nate Forman第一章 一些基本知识反射基础类基础使用方法我们经常碰到一些问题,而这些问题可以使用反射来简单并优雅的解决掉。如果没有反射,我们的解决方法散乱的,累赘和易错的。想想以下场景:你的项目经理致力于开发一个可扩展的框架,这个框架需要支持新的组件,即使是在系统构建并发布之后。你设计了一些接口作为修复jar包中的补丁使用。通过原创 2016-12-01 22:57:39 · 3102 阅读 · 0 评论 -
虚拟机类加载机制
情景问题:class Singleton{ private static Singleton singleton = new Singleton(); public static int count1; public static int count2 = 0; private Singleton(){ count1++; count2原创 2017-03-10 23:36:01 · 349 阅读 · 0 评论 -
并发概览
Java是一个多线程编程语言,这意味着我们可以使用Java开发多线程程序。一个多线程程序包含两个或者两个以上可以同时运行并且每一个可以处理不同的任务,这样,当你的电脑有多个cpu时,可以使用它充分利用可用的资源。 根据定义,多任务是当多进程共享处理资源,如cpu。多线程将多任务想法扩展至应用中,使用单独的应用将指定操作细分到各个独立的线程中。这些线程可以并行的执行。操作系统不仅在不同的应原创 2017-03-15 17:43:34 · 438 阅读 · 0 评论 -
类初始化顺序问题,final修饰属性影响加载顺序
public class Demo{ public Demo(){ System.out.println("create demo object"); } public static String str = "abcd"; static { System.out.println("init static block."); }原创 2017-03-10 23:45:24 · 1691 阅读 · 1 评论 -
泛型(Generics)
泛型于Java1.5中被提出,这个期待已久的泛型增强了系统类型,在提供运行时安全类型,允许一个类型或者方法在不同类型的对象上执行操作。它给集合框架增加了编译时的安全类型和减少了强制转换类型的繁琐工作。简介定义简单泛型泛型和子类型化通配符泛型方法交互遗留代码要点(The Fine Print)类文字作为运行时类型标记(Class Literals as Runtime-Type原创 2017-05-20 19:18:04 · 655 阅读 · 0 评论 -
Java SE8:Lambda快速入门
原文:http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/Lambda-QuickStart/index.html本篇为译文。一、概览目标 该教程介绍Java8平台中新的lambda表达式。耗时 大约1小时介绍 Lambda表达式是Java se8中一个新增的,并且是它重要特征。它们使用一个表达式,提供翻译 2017-09-09 22:52:01 · 942 阅读 · 0 评论 -
Java 之 @FunctionalInterface
An informative annotation type used to indicate that an interface type declaration is intended to be a <i> functional interface </i> as defined by Java Language Specification.Conceptuall...原创 2019-04-10 15:46:51 · 762 阅读 · 0 评论 -
查看jvm启动参数
jinfo -flags pid 或者 jcmd pidVM.flagsVM Flags:-XX:CICompilerCount=3-XX:ConcGCThreads=1-XX:G1ConcRefinementThreads=4-XX:G1HeapRegionSize=1048576-XX:GCDrainStackTargetSize=64-XX:+Heap...原创 2019-09-06 09:40:10 · 3437 阅读 · 1 评论 -
springboot devtools
1.pom.xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <...原创 2019-09-28 11:55:26 · 349 阅读 · 0 评论 -
java面试笔试题
1+2-3-4+5+6-7-8+9+10-11-12+13+14-15-16+17+18-19-20+21+22-23-24+25+26请代码实现以上计算原创 2015-05-05 19:26:51 · 1060 阅读 · 1 评论 -
集合接口(The Collection Interface)
集合代表一组被称为它的元素的对象。Collection接口被用于传递所有集合最大的公共部分。例如,按照惯例,所有统一集合的实现都有一个包含一个集合参数的构造函数。这个构造函数,被称为转换构造函数,用指定集合的所有元素来构造一个新的集合,不管给定集合的子接口或者实现类型,换句话说,它允许你转换集合类型。 假设,如下例子,你有一个集合Collection c,它可能是List,Set或者其它C原创 2016-07-21 00:10:35 · 1227 阅读 · 0 评论 -
JDBC 访问数据库
jdbc api 被设计成使简单的事情更简单,这意味着jdbc使每天数据库任务简单化,通过使用jdbc来执行普通sql语句和完成数据库应用其它目标来让你熟悉它们。 这一系列被分成一下部分:jdbc介绍 - 列出jdbc特性、描述jdbc架构、检查sql命令和数据库相关的概念jdbc基础 - 覆盖jdbc api,在java6已发布的部分。 第一部分的结尾,你将会知道如何使用基本jdbc原创 2016-07-09 11:21:27 · 470 阅读 · 0 评论 -
问题解决(Troubleshooting)
下面例子列出了在反射类中可能会遇到的典型问题。编译告警:“注意:…使用未受检异常或者不安全操作” 当一个方法被调用,则它的参数值被校验并可能被转换。ClassWarning调用getMethod()来造成典型未受检版本告警:import java.lang.reflect.Method;public class ClassWarning{ void m(){ try{原创 2016-07-12 23:31:15 · 1657 阅读 · 0 评论 -
检查类修饰符和类型(Examining Class Modifiers and Types)
一个类可能被声明为包含该一个或者多个影响它运行时行为的修饰符。访问权限修饰符:public,protected和private需要重写修饰符:abstract限制一个实例修饰符:static禁止值修改:final强制浮点型行为:strictfp注解 不是所有的修饰符可以使用到所有的类上面,比如,一个接口不能被修饰为final,一个枚举不能被修饰为abstract。java原创 2016-07-12 22:57:21 · 494 阅读 · 0 评论 -
获取类对象(Retrieving Class Objects)
所有反射操作的入口是java.lang.Class.包括异常类java.lang.reflect.ReflectPermission,java.lang.reflect包中的所有类都没有公有构造函数。为了获得这些类,需要调用Class类中合适的方法。有几种方式可以获取一个Class,取决于代码是否有相应实例对象、类名称、类型或者一个存在的Class。Object.getClass() 如果一原创 2016-07-11 23:25:36 · 537 阅读 · 0 评论 -
类(Classes)
课程:类 每一个对象要么是引用类型,要么是基本类型。所有的引用类型都继承java.lang.Object. 类(Classes),枚举(enums),数组(arrays)和接口(interfaces)都是引用类型;基本类型包括:boolean,byte,short,int,long,char,float,double.引用类型如:java.lang.String,所有基本类型的封装类,如:jav原创 2016-07-10 15:17:32 · 478 阅读 · 0 评论 -
高级并发对象(High Level Concurrency Objects)
目前为止,重点关注低级别的api,它们从一开始就是java平台的一部分,对于基本的任务,这些api已经足够使用了,但是,对于更高级的任务,就需要高级别的构建,尤其对当今重发利用多处理器和多核心系统的大量并发应用。 在这一节中,我们重点关注java平台5.0中提供的高级并发特性,大部分的特性都在java.util.concurrent包中实现,在java集合框架中也添加了新的并发数据结构。对象锁原创 2016-07-09 01:17:43 · 1332 阅读 · 0 评论 -
binary search(java)
二分查找 binary search原创 2015-12-18 14:22:17 · 560 阅读 · 0 评论 -
java设计模式——单例模式
带着问题去看单例模式1、什么是单例模式?2、单例模式有什么用?3、怎么实现单例模式?/*** 饿汉模式*/public class SingletonHungry(){private SingletonHungry(){}private static SingletonHungry singleton=new SingletonHungry();原创 2015-04-06 10:55:31 · 916 阅读 · 2 评论 -
StackOverflowError
应用程序递归太深而发生堆栈溢出package com.basic.extend;public class MainDemo {public static void main(String[] args) {MainDemo mainDemo = new MainDemo();mainDemo.count(1, 1);}public void coun原创 2015-04-22 21:44:58 · 1458 阅读 · 0 评论 -
疑问:java 抽象类
java抽象类不能直接实例化,那还可以存在构造函数有什么作用?原创 2015-04-22 22:17:38 · 686 阅读 · 0 评论 -
java 异常机制
浅谈java异常机制下班闲来无事,看看java基础知识,做一下总结异常机制:是java提供的一个解决突发事件或者误操作的一种控制流程的一种解决方案Throwable 所有错误或者异常的超类,包含两个子类Error和Exection其中Error错误是程序无法处理的,如内存溢出、机器断电等Exception异常包括运行时异常和编译时异常运行时异常类均继承Run原创 2014-09-15 23:56:39 · 780 阅读 · 0 评论 -
理解Java
一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选。如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟。1、字符串不变性下面这张图展示了这段代码做了什么12String s = "abcd";s = s.concat("ef");转载 2014-06-12 23:03:15 · 561 阅读 · 0 评论