自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

转载 基于springboot框架的极致细腻的脚手架。原生纯净【源码分享】

项目介绍基于springboot的一款纯净脚手架。努力打造一款免费开源、注释全、文档全适合新手学习、方便快速二次开发的框架。1. 没有基础版、没有vip版本、没有付费群、没有收费二维码2. 遵循开源真谛,一切免费才是真开源3. 不求回报,你使用快乐就是这个项目最大的快乐!组织架构Springboot├─doc 项目SQL语句以及文档│├─common 公共模块│ ├─base Base继承通用类│ ├─conf springBoot所有配置│ ├─domain

2020-07-29 21:18:29 746

转载 还在手动整理数据库文档?试试这个(螺丝钉)数据库文档生成工具。简洁、轻量、设计良好。不需要 powerdesigner 这种重量的建模工具

简介在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人,于是萌生了要自己写一个插件工具的想法,但由于自己前期在程序设计上没有很多造诣,且能力偏低,有想法并不能很好实现,随着工作阅历的增加,和知识的不断储备,终于在2020年的3月中旬开始进行编写,4月上旬完成初版,想完善差不多在开源,但由于

2020-07-28 14:53:27 437

原创 iBizPMS软件生产管理「源码分享」

iBizPMS(iBiz软件生产管理)iBizPMS(iBiz Production Management System 软件生产管理)是iBiz对于软件生产管理的思考与探索所建立的项目,是iBiz软件生产体系的重要组成部分(管理模块)。它覆盖了软件生产从开始到结束,再到新的开始,往复循环,为软件生产提供有效的管理途径以及协调各阶段内、各阶段之间的信息与资源。它可以说是整个软件生产过程的“协调者”和“管理者”。iBizPMS集成了禅道(开源版 )的特性与功能,在提供传统的项目管理软件的管理能力(产.

2020-07-27 21:13:38 902

原创 你经常看的斗鱼直播平台,首次开源了自家项目

Jupiter 的诞生 为什么选择 Go 与其它微服务框架的区别 微服务架构的意义 拥抱开源的斗鱼 关于未来上个月,斗鱼将基于 Go 语言的微服务框架 Jupiter 开源。作为国内知名的互联网直播公司,这也是斗鱼首次以公司的名义正式推出开源项目。近年来,得益于日渐增长的高并发业务需求,微服务架构开始在国内逐渐普及。同时,专为高并发而生的 Go 语言及其相关生态在国内的发展也突飞猛进。目前,市面上主流的微服务架构包括 Spring cloud、Dubbo 等,并且都有团队为之专门推出了对应的

2020-07-25 16:23:58 584 1

转载 面试官:小伙子听说你看过ThreadLocal源码?深度解析ThreadLocal

作者:一枝花算不算浪漫出自:博客园前言这次趁热打铁再写一篇ThreadLocal的文章,同样是深入原理,图文并茂。全文共10000+字,31张图,这篇文章同样耗费了不少的时间和精力才创作完成,原创不易,请大家点点关注+在看,感谢。对于ThreadLocal,大家的第一反应可能是很简单呀,线程的变量副本,每个线程隔离。那这里有几个问题大家可以思考一下:ThreadLocal的key是弱引用,那么在 threadLocal.get()的时候,发生GC之后,key是否为...

2020-07-24 17:02:03 195

原创 单怼多线程,60到面试题,你能答上几个?(附答案)

现在的面试对程序员要求越来越高,基础越扎实拿offer的概率就越高,大厂对基础还是很执着的,如果你基础功底好,面试官是会看中你的潜力,然后去培养的你的。除了算法、网络、计算机基础等,多线程越来越被注重。废话不多说,直接把题分享给大家。1.什么是进程?进程是系统中正在运行的一个程序,程序一旦运行就是进程。进程可以看成程序执行的一个实例。进程是系统资源分配的独立实体,每个进程都拥有独立的地址空间。一个进程无法访问另一个进程的变量和数据结构,如果想让一个进程访问另一个进程的资源,需要使用进程间通信

2020-07-23 21:32:37 511

转载 美团java面试最常问的题:乐观锁与悲观锁各自适用场景是什么?

之前在牛客网上刷java面试的时候,经常看到美团面试官问这个问题,校招问的尤其多。下边就来分享一下:一、概念上的区别乐观锁( Optimistic Locking):顾名思义,对加锁持有一种乐观的态度,即先进行业务操作,不到最后一步不进行加锁,"乐观"的认为加锁一定会成功的,在最后一步更新数据的时候再进行加锁。悲观锁(Pessimistic Lock):正如其名字一样,悲观锁对数据加锁持有一种悲观的态度。因此,在整个数据处理过程中,将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也

2020-07-23 15:35:58 505 1

原创 基于spring boot+mybatis开发的纯净版后台管理引擎,源码分享

项目介绍项目实现的功能介绍1.用户,角色,权限管理(权限控制到按钮)2.图片管理3.操作日志(针对于用户,每次点击的记录都会被记录)4.报表管理5.代码生成 (支持可视化生成单表, 一对一, 一对多 ,多对多代码.)项目的优势在哪里1.目前市面上的代码生成工具绝大多数仅仅支持生成单表,该项目支持 单表, 一对一, 一对多 ,多对多 以及所对应的页面生成.大大简化了开发的工作量2.该项目仅仅只是帮你生成单表以及多表的增删改查,不做任何底层的改动.只要你知道怎么使用 s

2020-07-22 17:29:44 459

转载 基于springboot框架的极致细腻的脚手架。原生纯净

项目介绍基于springboot的一款纯净脚手架。努力打造一款免费开源、注释全、文档全适合新手学习、方便快速二次开发的框架。1. 没有基础版、没有vip版本、没有付费群、没有收费二维码2. 遵循开源真谛,一切免费才是真开源3. 不求回报,你使用快乐就是这个项目最大的快乐!组织架构Springboot├─doc 项目SQL语句以及文档│├─common 公共模块│ ├─base Base继承通用类│ ├─conf springBoot所有配置│ ├─domain

2020-07-21 14:06:47 298

原创 一次复杂的雪花算法使用总结

一、雪花算法简介:1、雪花算法是Twitter 开源的分布式、自增长 id 生成算法;2、雪花算法生成的id是一个无符号长整型(unsigned long)的id,它占64个bit(8*8);二、项目背景:1、多台服务器组成的集群;2、每台服务器同时启动多个worker;3、每个worker使用雪花算法生成自增长id、再通过mycat进行批量入库。三、需求分析:1、自增长;2、分布式;显然,雪花算法很适合我们。四、问题分析及解决方案:1、Q:如何确保生成的id

2020-07-20 15:12:33 872

原创 用 80 行 Javascript 代码构建自己的语音助手

在本教程中,我们将使用 80 行 JavaScript 代码在浏览器中构建一个虚拟助理(如 Siri 或 Google 助理)。你可以在 这里测试这款应用程序,它将会听取用户的语音命令,然后用合成语音进行回复。你所需要的是:Google Chrome(版本 25 以上) 一款文本编辑器由于 Web Speech API 仍处于试验阶段,该应用程序只能在 受支持的浏览器上运行:Chrome(版本 25 以上)和 Edge(版本 79 以上)。我们需要构建哪些组件?要构建这个 Web ...

2020-07-18 16:42:07 540

原创 二本渣渣6年开发面试字节跳动Android研发岗,被怼的有点惨...

人们都说,这个世界上有两种人注定单身,一种是太优秀的,另一种是太平凡的。我一听呀?那我这岂不是就不优秀了吗,于是毅然决然和女朋友分了手。人们都说,互联网寒冬来了,这个时候还在大面积招人的公司,必然是牛逼的公司。而这个时候勇敢跳槽的人,必然是牛逼的人。于是2020年5月25日下午14:00,我开始了字节跳动的社招面试。为了这天,我前一天排老长的队理了个利落的发型,胡子刮得一干二净。穿上崭新的新百伦999,连袜子都是崭新的NB,墨绿色工装裤配酒红色卫衣,外面再搭一件精致的黑色羽绒小坎肩,准时..

2020-07-17 17:25:41 674

转载 从对象到类,Java中需要知道的这些东西

1. 对象的诞生  在平时的开发中,我们使用对象的时候,都是直接new一个临时变量然后进行各种逻辑赋值然后返回,但是你有没有想过一个对象在创建的过程中经历了什么呢,为什么创建时静态变量就已经赋完值了?这些似乎理所当然的操作其实里边还是有点东西的。  先说下一个对象诞生时的整个过程,一个对象的诞生一定会经过加载类的信息—>为即将诞生的对象分配内存空间—>将对象的成员变量赋上一个默认值—>捏脸(在头部设置对象的类信息和GC年龄)—>将对象的成员变量初始化为代码中写的值这五个流程,

2020-07-16 14:46:24 154

转载 详解面试中常被问到的那些异常问题

什么是异常?所有使我们程序提前终止,或者没有向预想方向去执行的错误统称为异常。异常的分类所有异常都由Throwable继承而来,即Exception和Error都继承自Throwable。注:Java中只有Throwable类型的实例才可以被抛出(throw)或者捕获(try..catch)ErrorError是指在正常情况下不太可能出现的错误,它与代码的编写无关。通常是表示运行时JVM出现的问题,比如系统内部错误、或者资源不足等。常见的有:OutOfMemoryErro..

2020-07-15 13:47:09 190

原创 BAT面试官眼中的源码,Java面试底层原理分析,解决90%的面试问题

个人觉得大多数情况下跟着一篇优秀的博客配合着看就足够了,之后再自己写博客总结一遍加深印象,画一下流程图基本都能理顺。1|2类关系配合idea看类之间的关系(ctrl+alt+shift+u)的功能也能更好的理解整个项目的整体架构。因为很多源码其实并不是真的复杂,只是为了扩展性优雅简洁等原因建立了大量的接口和抽象类以及各种设计模式,使得项目看起来很庞大很复杂,借助这个功能有利于你排除掉一些你暂时不想去关心的设计逻辑。知道那个部分才是最核心的逻辑,专注于去看核心代码。1|3多看注释...

2020-07-10 16:13:34 306

原创 听说go语言越来越火了?那么请收下go语言这本书吧!

Go 是一种简单、小巧、令人愉悦的语言。它也有一些犄角旮旯,但绝大部分是经过精心设计的。它的学习速度令人难以置信,并且规避了其他语言中一些不那么广为人知的特性。现如今越来越多的互联网公司开始使用go语言,有的初创公司开始使用go语言打造基础架构,而知乎这样的公司也基本上踏上了go语言的路子,或许,未来的互联网公司会越来越多地使用golang,那么,你想学习一下这门未来的语言么,今天就来推荐一本go语言的书吧!Go语言高级编程本书从实践出发讲解Go语言的进阶知识。本书共6章,第1章简单回顾Go..

2020-07-10 14:25:28 271

原创 《前端面试总结点线面》之点-JavaScript篇

《前端面试总结点线面》系列是为了收拢杂而乱的前端领域知识,由点及线,再涉及面,目的是为帮助广大前端同学复习巩固或查漏补缺或增删改查,为了更好的建立前端领域知识体系,为了更好的为前端面试做好准备,从而做一个合格、进步的前端开发工程师。JavaScriptESES6 let const class module arrow function, 函数参数默认值 模版字符串 赋值解构 剩余操作符 promise generator ES7 Array.prototype.i

2020-07-09 22:05:42 301

原创 面试官:十问泛型,你能扛住吗?

问题一:为什么需要泛型?答:使用泛型机制编写的代码要比那些杂乱的使用 Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性,也就是说使用泛型机制编写的代码可以被很多不同类型的对象所重用。问题二:从ArrayList的角度说一下为什么要用泛型?答:在Java增加泛型机制之前就已经有一个 ArrayList类,这个 ArrayList类的泛型概念是使用 继承来实现的。public class ArrayList { private Object[] e...

2020-07-09 14:10:03 93

原创 面试官:聊聊 Java 的几把 JVM 级锁吧

在计算机行业有一个定律叫"摩尔定律",在此定律下,计算机的性能突飞猛进,而且价格也随之越来越便宜,cpu从单核到了多核,缓存性能也得到了很大提升,尤其是多核cpu技术的到来,计算机同一时刻可以处理多个任务。在硬件层面的发展带来的效率极大提升中,软件层面的多线程编程已经成为必然趋势,然而多线程编程就会引入数据安全性问题,有矛必有盾,于是发明了“锁”来解决线程安全问题。在这篇文章中,总结了java中几把经典的JVM级别的锁。synchronizedsynchronized关键字是一把经典的锁,也是我们

2020-07-08 20:11:23 123

原创 面试官这样问Java 线程池,我的回答让他竖起了大拇指!

这周我投递出了简历,岗位是java后端开发工程师。这周美团面试官给我进行了面试。面试过程中他问了线程池,今天详细讲一讲 Java 线程池。线程池线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。start()创建一定数量的线程池,进行线程循环stop()停止所有线程循环,回收所有资源addTask()添加任务复制代码Excutors创建线程池便捷方法如下:Executors.newFixedThreadPool(1.

2020-07-08 16:12:06 128

原创 距离弄懂正则的环视,你只差这一篇文章

正则表达式的环视是什么环视顾名思义就是环顾四周,向左看看向看看,找一个合适的位置。环视匹配的是一个位置而不是字符,这点尤为重要。那么我们是怎么找到这个合适的位置的呢?当然是根据环视里面包含的条件去寻找这个位置。接下来我会用生活中的一些场景来解释每一种环视。肯定的顺序环视假如你现在是一名叫张三的学生,现在是体育课需要大家排个队,你记性不好忘记了自己之前的位置,但是你还记得你的后面是李四。所以这个时候你肯定先找到李四,然后站在他的前面就可以了。所以你这个选择背后的逻辑是,我站的这个位...

2020-07-07 19:10:23 142

原创 3W字干货深入分析基于Micrometer和Prometheus实现度量和监控的方案

前提最近线上的项目使用了spring-actuator做度量统计收集,使用Prometheus进行数据收集,Grafana进行数据展示,用于监控生成环境机器的性能指标和业务数据指标。一般,我们叫这样的操作为"埋点"。SpringBoot中的依赖spring-actuator中集成的度量统计API使用的框架是Micrometer,官网是micrometer.io。在实践中发现了业务开发者滥用了Micrometer的度量类型Counter,导致无论什么情况下都只使用计数统...

2020-07-07 14:22:54 1865

原创 去年阿里面试,被问到java多线程,我是这样手撕面试官的

1.多线程的基本概念1.1进程与线程程序:是为完成特定任务,用某种语言编写的一组指令的集合,即一段静态代码,静态对象。进程:是程序的一次执行过程,或是正在运行的一个程序,是一个动态的过程,每个程序都有一个独立的内存空间线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行. 一个进程最少有一个线程线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分成若干个线程1.2并行与并发并发:指两个或多个事件在同一个时间段内发生。

2020-07-06 19:08:07 116

原创 干货:Java并发编程面试基础问题和答案

Java并发编程1.Synchronized用过吗,其原理是什么?这是一道Java面试中几乎百分百会问到的问题,因为没有任何写过并发程序的开发者会没听说或者没接触过Synchronized。Synchronized是由JVM实现的一种实现互斥同步的一种方式,如果你查看被Synchronized修饰过的程序块编译后的字节码,会发现,被Synchronized修饰过的程序块,在编译前后被编译器生成了monitorenter和monitorexit两个字节码指令。这两个指令是什么意思呢?在虚拟机执行到..

2020-07-03 21:27:30 147

原创 备战下半年秋招,分享蚂蚁Java岗面试题80+

前言也许会有人感叹某些人的运气比较好,但是他们不曾知道对方吃过多少苦,受过多少委屈。某些时候就是需要我们用心去发现突破点,然后顺势而上,抓住机遇,那么你将会走向另外一条大道,成就另外一个全新的自我。就目前大环境来看,面试的难度比往年高很多。一个明显的感受:今年的面试,无论一面还是二面,都很考验Java程序员的技术功底。Java多个线程同时读写,读线程的数量远远⼤于写线程,你认为应该如何解决并发的问题?你会选择加什么样的锁? JAVA的AQS是否了解,它是⼲嘛的? 除了synchroniz

2020-07-03 13:58:41 316

原创 Java分布式系统高并发解决方案

左侧码工Java分布式系统高并发解决方案对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了。而并发问题是绝大部分的程序员头疼的问题,但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研究一下常见的并发和同步吧。为了更好的理解并发和同步,我们需要先明白两个重要的概念:同步和异步1、同步和异步的区别和联系  所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到...

2020-07-02 19:21:40 1195 1

原创 2020年Java面试题解析

本文分为十九个模块,分别是: Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、MyBatis、RabbitMQ、Kafka、Zookeeper、MySQL、Redis、JVM如下图所示:共包含 208 道面试题,本文的宗旨是为读者朋友们整理一份详实而又权威的面试清单,下面一起进入主题吧。···========================.

2020-07-02 13:35:22 212

原创 OpenFeign与Ribbon源码分析总结与面试题

前言最近有很多童鞋跟鱼头说,面试的时候动不动就问源码。也有很多童鞋遇到问题的时候,鱼头建议这些童鞋看相关库 / 框架 / 项目的源码。但是也有很多童鞋向鱼头抱怨说:“源码太难了。”那么源码真的是一块难啃的硬骨头吗?其实不是的。作为一个优秀(或说合格)的开源项目,它的代码一定不会是晦涩难懂的。不仅是代码本身,这些项目配套的注释,单元测试,示例代码,函数名以及文档一定是能够很好地辅助你读源码的。下面就让鱼头来跟大家谈谈我自己的一些看源码心得。(注:这不是最佳实践,只算是鱼头个人的

2020-07-01 14:07:42 1000

原创 实战案例——分布式架构演变

随着计算机系统规模变得越来越大,将所有的业务单元集中部署在一个或若干个大型机上的体系架构,已经越来越不能满足当今计算机系统。同时,随着微型计算机的出现,越来越多廉价的PC机成为了各大企业IT架构的首选,分布式的处理方式越来越受到业界的青睐。本文将介绍分布式架构的发展历史和分布式架构的一些相关概念。下面以一个简单的电商系统为例,当数据量、访问量提升,观察这个系统可能会发生的结构变化。假如我们系统具备以下功能:用户模块(用户注册和管理),商品模块(商品展示和管理),交易模块(创建交易及支付结算)。一、单

2020-06-29 16:28:12 229

原创 Java 从入门到进阶之路(二)

之前的文章我们介绍了一下用 IDEA 编辑器创建一个 Java 项目并输出 HelloWorld,本章我们来看一下 Java 中的变量和基本数据类型。在这之前我们先来看一下 Java 中的关键字,这些关键字不能被用作变量名称。类别 关键字 说明 访问控制 private 私有的 protected 受保护的 public 公共的 类、方法和变量修饰符 abstract 声明抽象 class 类 extends 扩充,

2020-06-29 14:43:04 72

原创 从源码看世界——深入浅出ConcurrentSkipListMap核心原理

前言作为一个经常使(mian)用(shi)的数据结构:跳表,我们对其应该不会感到陌生了,特别是java的跳表实现ConcurrentSkipListMap,某度查找下它的解读更是一抓一大把。但如果你看完这些文章就以为完全理解跳表的话,那可能在面试中被问得哑口无言:跳表插入节点时如何判断是否要增加层级?按概率的话具体概率是多少呢?为什么要这样设计呢?删除节点时为什么要先增加标记节点?源码中充斥着大量重复代码,为什么不作优化呢.....今天就给大家深入解读ConcurrentSkipListMap的核心原理

2020-06-28 18:46:09 223

原创 Java 从入门到进阶之路(一)

在开始编写我们第一个程序之前我们需要下载Intellij IDEA,https://www.jetbrains.com/idea/,Intellij IDEA 注册码:http://idea.lanyus.com/Java 环境配置https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,配置过程就不写了。当我们将上面的配置都完成后,打开 IDEA,创建我们的第一个项目...

2020-06-28 13:55:52 115

原创 java基础——并发1

一.并发的定义并发:对于这个概念一直就是没怎么搞懂,就是感觉特别的生疏,(自己从从字面上理解就是多个东西,一起出发),所以就上网上查了一些资料:同时拥有两个或多个线程,如果程序在单核处理器上运行,多个线程将交替地换入或者换出内存,这些线程是同时“存在”的,每个线程都处于执行过程中的某个状态,如果运行在多核处理器上,此时,程序中的每个线程都将分配到一个处理器核上,因此可以同时运行。高并发(High Concurrency):是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保

2020-06-28 13:28:50 125

原创 基于activiti5.22、SpringBoot2开发的流程解决方案,源码分享

AgileBPM 敏捷工作流开发平台业务对象:由实体(表)组成,支持任意数据结构(关联关系),可以跨库来组织业务对象(支持分布式事务)。而且难以置信的支持N层。 业务表单:表单完美的支撑了业务对象的展示,并支持丰富的前端组件和字段级权限控制。 流程引擎:高效、解耦、强大、灵活。流程引擎一切功能皆插件。支持任意结构的业务对象 + 丰富控件易扩展的表单(字段级别的权限控制) + 功能强大的工作流引擎便是我们完整的流程解决方案当然、流程也支持url表单,方便已有业务、异构系统的流程实施软...

2020-06-27 20:11:21 665

原创 机器学习数学基础:随机事件与随机变量

所谓机器学习和深度学习, 背后的逻辑都是数学, 所以数学基础在这个领域非常关键, 而统计学又是重中之重, 机器学习从某种意义上来说就是一种统计学习。这次借着在Datawhale组织的概率统计专题学习的机会再重新温习一遍数学基础,非常感谢组织的这次学习机会。这一版块是整理概率统计的相关内容, 具体知识点参考了Datawhale的开源教程概率统计, 这次又是站在了大佬的肩膀上前行, 同时对其中的重点知识进行整理和补充, 然后进行了必要的代码实现。今天是概率统计基础的第一篇文章, 我们先从随机变量和随..

2020-06-27 19:45:18 1039 1

原创 2020年6月最新一线互联网大厂Java工程师面试真题分享

Java基础Static方法是否能被覆盖? 集合不用泛 型会造成什么问题?比如List list = new ArrayList(); Java泛型中extends和super的用法? I0字节流和字符流区别?系列化Serializable和Externalizable区别? serialVersionUID不定义有什么问题?NIO? sleep()和wait()方法区别? 为什么等待和通知是Object类而不是Thread中声明的? 为什么Java中wait 方法需要在synch

2020-06-27 18:53:28 720

原创 JavaWeb之Filter、Listener

今天给大家讲解的是Filter和Listener的用法。一、Listenner监听器1.1、定义Javaweb中的监听器是用于监听web常见对象HttpServletRequest,HttpSession,ServletContext。1.2、监听器的作用监听web对象创建与销毁.监听web对象的属性变化监听session绑定javaBean操作.1.3、监听机制中的概念事件----一件事情事件源---产生这件事情的源头注册监听---将监听器与事件绑定,当事件产生

2020-06-27 16:26:16 621

原创 Class文件解析实战

java跨平台的实现是基于JVM虚拟机的,编写的java源码,编译后会生成一种.class文件,称为字节码文件。java虚拟机就是负责将字节码文件翻译成特定平台下的机器码然后运行。为了保证Class文件在多个平台的通用性,java官方制定了严格的Class文件格式。了解Class文件结构,有利于我们反编译.class文件或在程序编译期间修改字节码做代码注入。Class文件结构概览首先先创建一个java类:public class HelloWorld { private stati...

2020-06-27 15:36:57 344

原创 聊一聊-不生效的 BeanPostProcessor

问题描述代码详见:extention-FactoryBean; clone 之后可以直接运行 DemoApplication 即可,可以观察到 控制台不输出 GlmapperBeanPostProcessor 里面 print out 的字符串。运行代码,即可观察到具体的执行现场;代码里除了 BeanPostProcessor 之外,另外一个是 FactoryBean,也就是本篇所要聊的重点:FactoryBean getObjectType 为 null 时导致 bean 提前初始化,...

2020-06-26 19:25:45 1553

转载 面试难题:为什么 HashMap 的加载因子是0.75?

前言有很多东西之前在学的时候没怎么注意,笔者也是在重温HashMap的时候发现有很多可以去细究的问题,最终是会回归于数学的,如HashMap的加载因子为什么是0.75?本文主要对以下内容进行介绍: 为什么HashMap需要加载因子? 解决冲突有什么方法? 为什么加载因子一定是0.75?而不是0.8,0.6? (若文章有不正之处,或难以理解的地方,请多多谅解,欢迎指正)为什么HashMap需要加载因子?HashMap的底层是哈希表,是存储键值对的结构类型,它需要通

2020-06-23 20:33:29 172

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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