Java传值调用和传引用调用(参数引用为null的问题)

一、问题 近期在项目中遇到一个场景,在多层级调用中需要传递上下文,调用过程中上线文对象可能为空,想通过一个公共方法处理上下文,当上下文为空时生成上下文对象,执行相关操作后将该上下文对象向后传递。大致逻辑如下: public class Test { public static void ...

2019-05-15 20:58:33

阅读数 13

评论数 0

查看应用/系统线程数

一、通过top命令查看 top命令实时显示进程状态,默认每5秒更新一次。top命令显示的每一列的含义为: 列名 含义 PID 进程ID USER 进程拥有者 PRI 进程优先级 SIZE 进程拥有的内存 RSS 进程拥有的物理内存 SHARE 进程和其它进程共享...

2019-05-12 17:03:52

阅读数 21

评论数 0

[linux工具] autojump

aotojump是一个文件系统快速定位的工具,它将命令行输入的工作目录维护在数据库中,并根据工作目录的使用频率排序,可以快速进入工作目录 一、mac下安装autojump 1.1 下载安装autojump brew install autojump 1.2 修改bash配置 brew i...

2019-05-12 15:08:51

阅读数 18

评论数 0

[linux命令] jq - JSON处理

jq可以对json数据进行分片、过滤、映射、转换,jq可以像sed、awk、grep等命令一样轻松的处理文本;jq使用c语言编写,没有运行时依赖,可以下载预编译的二进制文件复制到远程机器上运行;使用jq可轻松的将现有的数据格式转换为你想要的数据格式。 一、用户手册 mac下安装 brew in...

2019-02-24 22:58:04

阅读数 38

评论数 0

[linux命令] telnet与ssh

telnet和ssh是用于远程访问服务器的两大协议,利用它们可以完成对远程计算机的控制,它们都基于TCP/IP协议,因此连接时都需要知道目标机器的网址或域名。 一、telnet telnet是Telecommunications和Networks的联合缩写,它是一种在UNIX平台上最为人所熟知的网...

2019-02-17 23:05:58

阅读数 44

评论数 0

MacOS中Homebrew使用

Homebrew是MacOS下的包管理工具,类似Ubuntu下的apt-get命令,通过这个工具可以进行软件的安装、卸载、更新、查看、搜索等功能。 一、官方介绍 Homebrew官网 Homwbrew git地址 Homebrew文档中心 交互式安装Homebrew(将命令粘贴至终端) /us...

2019-02-08 23:03:04

阅读数 65

评论数 0

[linux命令] seq

seq是linux中的一个预设外部命令,一般用作一堆数字的简化写法,可以用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式、步长、分隔符等进行控制 一、常规用法 seq 语法 seq [-w] [-f format] [-s string] [-...

2019-02-06 23:35:00

阅读数 51

评论数 0

AbstractQueueSynchronizer-共享式获取或释放

一、共享式锁实现及应用 上一篇文章分享了独占式获或释放同步状态的过程。本文分享AQS共享式获取或释放同步状态,共享式获取或释放过程与独占式获取或释放过程大体相同,按照相同流程进行分析。首先,创建一个读锁类,用于对资源的共享式读访问,其核心是创建继承自AQS的内部类,并重写tryAcquireSha...

2019-02-03 16:43:49

阅读数 58

评论数 0

AbstractQueueSynchronizer-独占式获取与释放

一、独占式锁实现及应用 按上一篇文章的介绍,创建一个写锁类,用于对资源独占式的写访问,如下。写锁类中核心是创建了继承自AQS的内部类,并重写tryAcquire和tryRelease方法;写锁类实现锁接口,并创建同步器成员变量,为简便起见主要实现了Lock接口中的lock和unlock方法。 pu...

2019-01-27 20:52:57

阅读数 96

评论数 0

AbstractQueueSynchronizer-简介

一、简介 Java同步器AbstractQueuedSynchronizer简称AQS,JDK中很多并发工具类的内部实现都依赖于AQS,如ReentantLock、Semaphore、CounDownLatch、ThreadPoolExecutor等。AQS的设计基于模板方法模式,实际开发中需要继...

2019-01-27 15:47:28

阅读数 52

评论数 0

Java transient关键字

Java中序列化是指将对象转换成字节序列的形式表示,这些字节序列包含了对象的数据和信息,序列化后的对象可以被写到数据库或文件中,也可以用于网络传输,Java序列化需要实体类实现Serializable接口。序列化后的字节序列可以恢复成Java对象,这个过程称为反序列化。 在实际开发过程中,对象的一...

2018-12-09 09:25:15

阅读数 62

评论数 0

优先级队列

普通队列遵循先入先出原则,优先级队列支持基于队列元素的优先级进行处理,比如,银行中处理业务时需要优先处理大客户的业务等。 Java 1.5中引入了优先级队列(PriorityQueue),这个优先级队列中的元素可以默认自然排序,也可以通过提供比较器在队列实例化时排序。优先级队列中队头是最小元素,当...

2018-12-07 21:19:31

阅读数 91

评论数 0

CGLIB动态代理

CGLIB是强大的、高性能的代码生成库,被广泛应用于AOP框架,它底层使用ASM来操作字节码生成新的类,为对象引入间接级别,以控制对象的访问。CGLIB相比于JDK动态代理更加强大,JDK动态代理只能对接口进行代理,而CGLIB既可以代理普通类,也能够代理接口。 CGLIB动态代理示例 maven...

2018-12-02 19:11:28

阅读数 52

评论数 0

JDK动态代理

代理是一种常用的设计模式,其目的是为其他对象提供一个代理可以控制对某个对象的访问,代理类负责为委托类预处理消息、过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。代理分为静态代理和动态代理,静态代理是在编译期间进行代理操作,动态代理是在程序运行期间进行代理操作。本文简要介绍动态代理技术。 ...

2018-11-19 22:45:28

阅读数 87

评论数 0

Java7 try-with-resource

在Java编程过程中,如果打开了外部资源(文件、数据库连接、网络连接等),我们必须在资源使用完后手动关闭他们,因为外部资源不由JVM管理,无法被JVM垃圾回收器回收,外部资源没有正确关闭将会导致资源泄露,将会导致文件被异常占用,数据库连接过多导致连接池满等问题。 为了确保外部资源被正常关闭,通常关...

2018-11-14 21:07:52

阅读数 174

评论数 0

Java8 Lambda表达式

lambda表达式是java8提供一个重要的特性,它提供了一个正常的参数列表和一个使用这些参数的主体,它必须依附于一个特别的对象类型–函数式接口,lambda表达式语法为: (parameters) -> expression (parameters) -&g...

2018-11-12 20:34:09

阅读数 101

评论数 0

查看服务器tomcat版本

一、通过tomcat版本文件查看   找到tomcat目录,进入”xxx/tomcat/bin” 目录,执行”sh version.sh”。如果没有设置JAVA_HOME和JRE_HOME环境变量则会报如下错误: [jieyu.ljy@tripco011182064160.na62 xxx...

2018-08-10 17:43:43

阅读数 1974

评论数 0

什么是AOP & AspectJ AOP

一、为什么要用AOP?什么是AOP? 为什么要用AOP?   面向对象的特点是继承、封装和多态,而封装要求将功能分散到不同的对象中,伴随着业务系统越来越复杂,我们的核心业务中会参杂一些特殊业务,比如日志记录、权限验证、性能检测、错误检测等,这些外围操作会带来核心业务代码混乱、重复冗余逻辑散布...

2018-08-03 16:50:52

阅读数 106

评论数 0

Java Type应用

一、fastjson解析参数化类型对象 先看一个使用fastjson解析参数类型对象的例子: public static void main(String ... args) { String personString = "[{\"id...

2018-07-10 19:53:43

阅读数 126

评论数 0

HashMap源码分析

一、HashMap的get()方法在java中的工作原理 哈希相关的数据结构本质上都是键值对(key value pair),HashMap的工作原理是利用哈希(散列),用put()方法和get()方法来存储和检索HashMap对象。 Hash table based implem...

2018-06-29 16:46:46

阅读数 54

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭