标签:编译

Java

2019年终总结 – J_Knight_

2

尖兵 发布于 2020-01-20

emm,貌似是一篇迟来的年度结,不过还好赶在农历 2020年之前写完了 TT 2019年总的来说无论是在技术,工作,价值观,投资能力,人脉上的收获都是非常大的:可以说是我从业以来我自己变化最大的一年。 下面就从5个方面来展开今年的个人总结。 技术&职场 投资 读书 生活 ...

阅读(106)评论(0)赞 (0)

Java

ASM 匿名内部类 & Lambda 表达式的处理

尖兵 发布于 2020-01-20

简单总结使用 ASM 时遇到匿名内部类时,如何对匿名内部类(一般来说接口)的方法实现插桩。 痛点 通过之前的 当 Java 字节码遇到 ASM 一文,对如何使用 ASM 已经有了初步的了解。这里再来看一种比较特殊的情况,当遇到匿名内部类时,如何确定 hack 结点。 接口作为匿名...

阅读(98)评论(0)赞 (0)

Java

Gradle Transform + ASM 探索

4

hellas 发布于 2020-01-20

使用 Gradle Transform + ASM 实现代码插桩的使用已经非常普遍。本文试图探索如何更加快速简洁的利用 Transform 实现代码插桩,并尝试实现 通过注解对任意类当中所有的方法 实现计算方法耗时 的插桩 通过配置实现对任意类(主要是针对第三方库)当中指定方法的...

阅读(107)评论(0)赞 (0)

Java

了解NonHeap吗?

3

Harries 发布于 2020-01-19

在我们日常的开发过程中,遇到问题除了普通的异常(空指针啊,数组越界啊 and so on),我们遇到的比较大的问题无非就是 OOM ,频繁 FullGC 或者是多线程方面的问题(这块我说不上话:new_moon_with_face:),我们大都数产生的问题也都是与 JVM 相关的...

阅读(100)评论(0)赞 (0)

Java

Gradle Transform + ASM 探索

4

尖兵 发布于 2020-01-19

使用 Gradle Transform + ASM 实现代码插桩的使用已经非常普遍。本文试图探索如何更加快速简洁的利用 Transform 实现代码插桩,并尝试实现 通过注解对任意类当中所有的方法 实现计算方法耗时 的插桩 通过配置实现对任意类(主要是针对第三方库)当中指定方法的...

阅读(95)评论(0)赞 (0)

Java

深入理解 Java 中的 final 关键字

yanxinchi 发布于 2020-01-19

final 是Java 中重要关键字之一,可以应用于类、方法以及变量上。这篇文章中将讲解什么是 final 关键字?将变量、方法和类声明为 final 代表了什么?使用 final 的好处是什么? final 在 Java 中是一个保留的关键字,可以声明成员变量、方法、类以及本地...

阅读(57)评论(0)赞 (0)

Java

你真的了解 volatile 关键字吗?

puefu.he 发布于 2020-01-19

今天,让我们一起来探讨Java 并发编程中的知识点:volatile 关键字 本文主要从以下三点讲解 volatile 关键字: volatile 关键字是什么? volatile 关键字能解决什么问题?使用场景是什么? volatile 关键字实现的原理? 在 Sun 的 JD...

阅读(54)评论(0)赞 (0)

Java

你知道什么是Graal VM吗?全栈虚拟机?猛!

6

尖兵 发布于 2020-01-19

世界上最好的语言是java,不服来战!:sunglasses: Java说,总有人想害朕 听说啊,在程序员中一直有这样的一个鄙视链: C 语言工程师鄙视 C++ 工程师,C++ 工程师鄙视 Java 和 C# 工程师,Java 工程师和 C# 工程师则互相鄙视,所有的工程师都鄙视...

阅读(38)评论(0)赞 (0)

Java

CAS机制及AtomicInteger源码分析

hellas 发布于 2020-01-19

CAS即 Compare And Swap 对比交换,区别于悲观锁,借助CAS可以实现区别于synchronized独占锁的一种乐观锁,被广泛应用在各大编程语言之中。Java JUC底层大量使用了CAS,可以说 java.util.concurrent 完全是建立在CAS之上的。...

阅读(48)评论(0)赞 (0)

Java

Java程序员必备基础:泛型解析

1

yeseng 发布于 2020-01-19

整理了Java泛型的相关知识,算是比较基础的,希望大家一起学习进步。 一、什么是Java泛型 Java 泛型(generics)是 JDK 5 中引入的一个新特性,其本质是参数化类型,解决不确定具体对象类型的问题。其所操作的数据类型被指定为一个参数(type parameter)...

阅读(59)评论(0)赞 (0)

Java

Synchronized优化总结(一)

2

hellas 发布于 2020-01-19

当使用 Java 多线程访问共享资源的时候,会出现竞态的现象。即随着时间的变化,多线程“写”共享资源的最终结果会有所不同。 为了解决这个问题,让多线程“写”资源的时候有先后顺序,引入了锁的概念。每次一个线程只能持有一个锁进行写操作,其他的线程等待该线程释放锁以后才能进行后续操作。...

阅读(40)评论(0)赞 (0)

Java

CICD搭建—Jenkins实现自动部署

9

邓龙华 发布于 2020-01-19

编辑推荐: 本文主要详细介绍了什么叫做Jenkins,搭建Jenkins的目的,Jenkins的特点, 产品发布的流程 希望对您的学习有所帮助。 本文来自于csdn,由火龙果软件Delores编辑推荐。 利用Git+Jenkins实现自动部署Spring Boot项目 一.什么叫...

阅读(73)评论(0)赞 (0)

Java

似乎你总也记不住,byte取值范围是 -127~128 还是 -128~127

puefu.he 发布于 2020-01-19

小傅哥 | bugstack.cn 沉淀、分享、成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获。目前已完成的专题有;Netty4.x实战专题案例、用Java实现JVM、基于JavaAgent的全链路监控、手写RPC框架、架构设计专题案例、源码分析...

阅读(37)评论(0)赞 (0)

Java

使用 Java 实现解析 JVM 字节码结构

changyuan.xu 发布于 2020-01-19

JVM 字节码的存储格式 docs.oracle.com/javase/spec… /** * <pre> * ClassFile { * u4 magic; * u2 minor_version; * u2 major_version; * u2 constant_...

阅读(39)评论(0)赞 (0)

Java

万字精美图文,带你掌握 JVM 内存布局及细节分析

9

xiaoli.he 发布于 2020-01-18

点击上方“ 搜云库技术团队 ”关注,选择“ 设为星标 ” 回复“ 1024 ”或 “ 面试题 ” 获取 4T架构师 资料 前言 本JVM系列属于本人学习过程当中总结的一些知识点,目的是想让读者更快地掌握JVM相关的知识要点,难免会有所侧重,若想要更加系统更加详细的学习JVM知识,...

阅读(41)评论(0)赞 (0)

Java

四、JVM之栈与栈帧

darida 发布于 2020-01-18

栈: 1、又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把 另一端称为栈底。其特性是先进后出。 2、栈是线程私有的,生命周期跟线程相同,当创建一个线程时,同时会创建一个栈,栈的大小和深度都是固定的。 3、方法参数列表中的...

阅读(35)评论(0)赞 (0)

Java

【Java并发基础】Java内存模型解决有序性和可见性

3

darida 发布于 2020-01-18

前言 解决并发编程中的可见性和有序性问题最直接的方法就是禁用CPU缓存和编译器的优化。但是,禁用这两者又会影响程序性能。于是我们要做的是 按需禁用CPU缓存和编译器的优化 。 如何按需禁用CPU缓存和编译器的优化就需要提到 Java内存模型 。Java内存模型是一个复杂的规范。其...

阅读(39)评论(0)赞 (0)

Java

谈谈Java的Collection接口

8

xirruiqiang 发布于 2020-01-18

谈谈Collection 前言 这一篇讲的collection接口;首先,集合是用来 存储数据 的,它是基于某种数据结构数据容器。常见的数据结构:数组(Array)、集(Set)、队列(Queue)、链表(Linkedlist)、树(Tree)、堆(Heap)、栈(Stack)和...

阅读(36)评论(0)赞 (0)