文章分类 - core java
摘要:原文:Java的Integer常量池和String常量池 1.Integer的常量池 看下面一段代码: 运行结果: 1 1 false true 1 1 true true 基本知识:我们知道,如果两个引用指向同一个对象,用==表示它们是相等的。如果两个引用指向不同的对象,用==表示它们是不相等的,
阅读全文
posted @ 2019-04-29 15:39
青青子衿J
摘要:原文:Java安全架构概览 介绍 Java平台在设计的时候就着重与安全方面,在Java核心设计中,Java语言本身就是类型安全的,并且提供了自动垃圾收集机制,用于增强代码的健壮性,类在加载时需要被验证, 用于保证只有合法的Java代码会被执行。 初始的Java平台创建了一个安全的运行环境,用于执行那
阅读全文
posted @ 2019-04-18 12:53
青青子衿J
摘要:作者:不巧,我在等你 原文:https://www.cnblogs.com/yaya-yaya/p/5768616.html 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的, 这些符号也就是我们人类使
阅读全文
posted @ 2019-04-11 17:16
青青子衿J
摘要:作者:Cat Qi出处:http://qixuejia.cnblogs.com/ 本篇文章主要讨论一下我们经常会用到的一些对象:VO、DTO、DO和PO。 由于不同的项目和开发人员有不同的命名习惯,这里我首先对上述的概念进行一个简单描述,名字只是个标识,我们重点关注其概念: 概念: VO(View
阅读全文
posted @ 2019-04-04 15:45
青青子衿J
摘要:原文出处:https://www.2cto.com/kf/201604/502490.html 关于Lambda字节码相关的文章,很早之前就想写了,[蜂潮运动]APP 产品的后端技术,能快速迭代,除了得益于整体微服架构之外,语言层面上, 也是通过Java8的lambda表达式的运用以及rxJava响
阅读全文
posted @ 2019-03-17 19:48
青青子衿J
摘要:概述:本文将从字节码(Bytecode)的级别研究Lambda表达式是如何工作的,以及如何将它与getter、setter和其它技巧组合起来的。 概述:本文将从字节码(Bytecode)的级别研究Lambda表达式是如何工作的,以及如何将它与getter、setter和其它技巧组合起来的。 在本文中
阅读全文
posted @ 2019-03-17 18:36
青青子衿J
摘要:原文出处:http://zh.lucida.me/blog/java-8-lambdas-inside-out-library-features/ 关于 本文是深入理解 Java 8 Lambda 系列的第二篇,主要介绍 Java 8 针对新增语言特性而新增的类库(例如 Streams API、Co
阅读全文
posted @ 2019-03-17 15:15
青青子衿J
摘要:原文出处:http://zh.lucida.me/blog/java-8-lambdas-insideout-language-features/ 关于 本文是深入理解 Java 8 Lambda 系列的第一篇,主要介绍 Java 8 新增的语言特性(比如 lambda 和方法引用),语言概念(比如
阅读全文
posted @ 2019-03-16 21:16
青青子衿J
摘要:原文出处:https://cloud.tencent.com/developer/article/1347532 函数式接口 函数式接口,对于Java来说就是接口内只有一个公开方法的接口,因为使用lanbda表达式,例如() -> user.getName()对应的调用则可能是func.get(),
阅读全文
posted @ 2019-03-16 13:15
青青子衿J
摘要:原文出处:https://blog.csdn.net/jiankunking/article/details/79825928 本文分析基于JDK 9 一、目标本文主要解决两个问题: 1、函数式接口 到底是什么? 2、Lambda表达式是怎么实现的? 先介绍一个jdk的bin目录下的一个字节码查看工
阅读全文
posted @ 2019-03-14 22:58
青青子衿J
摘要:原文出处:http://www.cnblogs.com/WJ5888/p/4618465.html 第一章 Lambda 1.1 引言 课本上说编程有两种模式,面向过程的编程以及面向对象的编程,其实在面向对象编程之前还出现了面向函数的编程(函数式编程) , 以前一直被忽略、不被重视,现在从学术界已经
阅读全文
posted @ 2019-03-13 22:50
青青子衿J
摘要:原文出处:http://www.cnblogs.com/WJ5888/p/4618465.html 为了支持函数式编程,Java 8引入了Lambda表达式,那么在Java 8中到底是如何实现Lambda表达式的呢? Lambda表达式经过编译之后,到底会生成什么东西呢? 在没有深入分析前,让我们先
阅读全文
posted @ 2019-03-13 22:45
青青子衿J
摘要:类的四大基本关系: a.关联关系:如A类调用B类。 b.继承关系:如A类是B类的父类。 c.聚合关系:如装橘子的箱子,箱子是否存在与里面装没装橘子没有任何关系,也就是说橘子不会影响箱子的存在。 d.组合关系:如一个小组,小组是否存在与小组中是否有组员是息息相关的,如果没有组员,小组就不存在了。
阅读全文
posted @ 2019-01-30 14:41
青青子衿J
摘要:一个很典型的泛型(generic)代码。T是类型变量,可以是任何引用类型: 1、Generic class 创建对象 有个很有趣的现象: ①代码在编译期不会出错,②代码在编译期会检查出错误。 这个问题其实很简单 (1) JVM本身并没有泛型对象这样的一个特殊概念。所有的泛型类对象在编译器会全部变成普
阅读全文
posted @ 2019-01-13 21:12
青青子衿J
摘要:原文出处:https://blog.csdn.net/mhmyqn/article/details/47342577 在看spring-mvc的源码的时候,看到在解析handler方法时,有关于获取桥接方法代码,不明白什么是桥接方法,经过查找资料,终于理解了什么是桥接方法。 什么是桥接方法 桥接方法
阅读全文
posted @ 2019-01-13 21:10
青青子衿J
摘要:原文出处:http://www.cnblogs.com/cruze/p/3847968.html 一、如何获取动态生成的class 字节码 结合生成的class文件是一个学习cglib的比较好的方法。在cglib中,生成的class文件默认只存储在内存中,我们可以在代码中加入下面语句来获取class
阅读全文
posted @ 2018-07-25 20:34
青青子衿J
摘要:原文出处:http://www.cnblogs.com/cruze/p/3843996.html cglib是一个java 字节码的生成工具,它是对asm的进一步封装,提供了一系列class generator。研究cglib主要是因为它也提供了动态代理功能,这点和jdk的动态代理类似。 一、 Ca
阅读全文
posted @ 2018-07-25 20:34
青青子衿J
摘要:原文出处:http://www.cnblogs.com/cruze/p/3862891.html cglib中生成类的工作是由AbstractClassGenerator的create方法使用相应的生成策略完成,具体代码如下: GeneratorStrategy是一个接口,它负责调用ClassGen
阅读全文
posted @ 2018-07-25 20:33
青青子衿J
摘要:原文出处:http://www.cnblogs.com/cruze/p/3865180.html 本文分下面三个部分来分析cglib动态代理的原理。 cglib 动态代理示例 代理类分析 Fastclass 机制分析 一、cglib 动态代理示例 1 public class Target{ 2 p
阅读全文
posted @ 2018-07-25 20:20
青青子衿J
摘要:原文出处:https://blog.csdn.net/dingliang33608/article/details/69062405/ 重载: 在java中,同一个类中两个或者两个以上的方法可以共享一个名称,只要它们的参数声明不同即可,这种情况称为方法的重载。 方法的重载分为 构造方法和普通方法的重
阅读全文
posted @ 2018-07-25 19:12
青青子衿J