自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 名震GitHub!字节跳动内部顶级数据结构刷题学习笔记根本停不下来

前段时间字节跳动发布了年前再招1万人的消息,从大部分的字节招聘岗位来说的话,Java研发岗位位居榜首!字节跳动的岗位大多数看中的都是算法,所以说在算法部分不在强的小伙伴可以开始刷题了,今天给大家带来的就是一份来自字节内部的《排序和数据结构刷题学习笔记》拿他们的剑斩获他们的offfer“不香吗”?内容览阅下面会直接给大家展示其中部分内容的截图资料,需要获取的小伙伴可以直接转发+关注后私信(学习)即可免费获取!剩下的就不给大家一一展示出来了,需要获取的小伙伴可以直接转发+关注后私信(学习)免费获取到!...

2022-07-15 14:37:45 276 1

原创 5000页?一份字节跳动Java面试全解手册发布!瞬间登顶各大搜索栏

这份《Java面试全解手册》包含了Bug,Dubbo,Git,GitHub,IDEA,IDEA插件,Java,Linux,Maven,MyBatis,Nginx,RESTful,Redis,SQL,SpringBoot。SpringCloud,sring全家桶,Zookeeper,分布式,前后端分离,架构,设计模式,面试等资料,足足整理了5000页,可见字节这次下血本了。添加图片注释,不超过140字(可选)添加图片注释,不超过140字(可选)添加图片注释,不超过140字(可选)...

2022-07-15 14:02:38 549

原创 活久见!39W字上千道Java一线大厂面试题手册,来自扫地僧的总结

下面会给大家展示这份内容中的相关知识点面试问题和内容截图,因为这份资料内容实在是太多了,所以可能展示的不会太全面,不过放心小编已经给大家整理到网盘了,需要的可以直接转发+关注后私信(学习)即可免费获取到!这位扫地神僧给我们整理出来了上千道一线大厂的面试题,包含了当下最火的(基础/字符串/集合/并发编程/JVM/数据结构算法/网络协议/数据库/框架/微服务/中间件/Linux)等面试热门技术点!今天给大家总结出一份500页超39w字的一线大厂Java面试题,来自一位不愿意透露姓名的大厂扫地僧。...

2022-07-15 13:46:41 194

原创 曾经风靡一时的阿里内网Redis开发参考手册,GitHub再次重温经典

Redis:​今天要给大家介绍的就是曾经火爆阿里的redis开发运维实战指南,如今这本书再出上的热榜,所以今天小编就给大家分享出这本书的内容:​​​​​​先给大家展示出来了书中的目录内容,电子版已经给大家整理好了,需要获取的小伙伴可以直接转发+关注后私信(学习)免费获取到进行学习哦!redis特性:​​​​​​​​ ​其余的内容就不给大家做详细的展示了,需要获取的小伙伴可以直接转发+关注后私信(学习)即可免费获取到!...

2022-07-14 16:04:05 419

原创 GitHub获120k+star的阿里内网“疯传”葵花宝典JVM虚拟机调优指南

jvm性能调优都做了什么? JVM性能调优有很多设置,这个参考JVM参数即可. 主要调优的目的:控制GC的行为.GC是一个后台处理,但是它也是会消耗系统性能的,因此经常会根据系统运行的程序的特性来更改GC行为控制JVM堆栈大小.一般来说,JVM在内存分配上不需要你修改,(举例)但是当你的程序新生代对象在某个时间段产生的比较多的时候,就需要控制新生代的堆大小.同时,还要需要控制总的JVM大小避免内存溢出控制JVM线程的内存分配.如果是多线程程序,产生线程和线程运行所消耗的内存也是可以控制的,需要通过一定时间的

2022-07-14 15:30:38 102

原创 GitHub榜一大哥!竟是Alibaba内部被疯狂转载的Spring全能指南?

spring相信大家都不会陌生!章节总览​​​需要获取这份资料的小伙伴可以直接转发+关注后私信(学习)即可免费获取内容总览​​​​​​​​需要获取这份资料的小伙伴可以直接转发+关注后私信(学习)即可免费获取...

2022-07-14 14:58:43 166

原创 让GitHub炸锅的深入理解MySQL实战手册,竟出自阿里云“藏经阁”

今天给大家分享一份出自阿里藏经阁的深入理解MySQL手册!​作为全球常年排名前2的数据库,MySQL一直是广大开发者学习数据库的首选对象。阿里巴巴从2009年开始用MySQL替代Oracle,并且还基于MySQL自研出了开源数据库AliSQL,用于淘宝商品库的建设。​下面会给大家展示出内容的截图,需要获取的小伙伴可以直接转发+关注后私信(学习)即可免费获取!MySQL高可用MGR8.0最佳实践​​MySQL高并发场景实战​​​​​RDS MySQL Java开发实战​​MySQL查询优化​MySQL 开发规

2022-07-14 14:38:32 202

原创 阿里新产!Spring+SpringBoot+SpringCloud Alibaba全系列高阶笔记

阿里巴巴最新产物,最适合Java高级工程师以上的同学学习的Spring+Spring Boot+Spring Cloud Alibaba全系列的高级笔记!这套笔记也是在阿里的同学偷偷发给我的,这套他们作为内容学习的笔记,能够分享出来也是令我十分高兴和兴奋的!由于内容很多吗,下面我将会通过大概目录的内容和内容截图的形式为大家展示!Spring​​Spring Boot​​Spring Cloud Alibaba​​需要领取阿里这三套spring全家桶的源码级全彩版笔记的同学,麻烦帮忙点赞、转发文章后,私信我【

2022-07-14 11:47:41 237

原创 GitHub上标星120K!Alibaba官网发布了这份Java全栈知识体系手册

Java作为当下最热门的编程语言,刷新了编程圈的全新认知,也导致了现在很多一线互联网大厂对程序员的要求提高了一个大的台阶! 但是还是有很多的程序员对整个java的体系只停留在学习中的片段,殊不知其内容已经发生了翻天覆地的变化,为了帮助大家完成这一难题,小编特意给大家找到了一份java全栈知识体系手册分享给大家 内容展示: 这里先给大家展示本书的内容,下面会给大家展示知识体系,需要获取到的小伙伴可以直接转发+关注后私信(学习)免费获取!​​​​​​全栈知识体系总览: java基础​数据结构与算法​数据库​方法

2022-07-14 11:23:21 218

原创 阿里面试官内部题库!阿里发布2022年Java社招岗(正式版)面试题

阿里巴巴2022年Java架构师岗面试题(正式版)​这不马上就是金三银四的面试跳槽季了嘛,马士兵老师也是通过一些小手段为大家拿到了一份阿里巴巴2022年Java架构师岗面试题(正式版)现在分享给大家,这份资料也是阿里面试官或者说业界的一份面试参考准则!大致目录参考​由于文章的篇幅有限,所以老师这里只为大家展示部分题目目录的截图以及太过基础的问题老师这里就不给大家截图浪费大家时间了。JVM篇JVM在执行Java程序时,会把它管理的内存划分为若干个的区域,每个区域都有自己的用途和创建销毁时间。如下图所示,可以分

2022-07-14 10:12:06 115

原创 神了!阿里P8纯手写出了这份10W字的MyBatis技术原理实战开发手册

什么是MyBatis?前几天和一位阿里的大佬喝茶的时候讨论到了mybatis,没想到大佬直接甩给我一份手册(MyBatis技术原理实战开发手册),这本书完全基于基于官方API的完全解读,开MyBatis应用之先河详细阐述MyBatis内部运行原理和插件开发,可以说是非常牛了!​编辑切换为居中添加图片注释,不超过 140 字(可选)下面直接给大家展示本书的目录内容和我一起先睹为快!​编辑切换为居中添加图片注释,不超过 140 字(可选)需要获取这份资料的小伙伴可以直接转发+关注后私信(学习)即可免费获取!正在

2022-07-13 11:35:35 108

原创 破防了!阿里、DDD(领域驱动设计)不破不立,GitHub直接霸榜

什么是领域驱动设计?因为本书的内容过多下面就给大家简短地看看部分内容,需要获取的小伙伴可以直接转发+关注后私信(学习)即可免费获取!

2022-07-13 11:16:51 179

原创 Alibaba内部的python入门到精通背记手册+面试宝典,GitHub已爆赞

突如其来的新冠肺炎疫情打乱了各行业发展的节奏,但 5G 的到来带动了 人工智能、大数据、物联网、云计算的快速发展,也衍生出了很多新兴产业和新 的工作岗位。2020年全国Python软件工程师人才缺口已达百万,各行各业的企业迫切 需要综合能力水平超强的Python 编程技术人才,来应对日新月异的市场发展 需求。首先当你要学习python之前要知道为什么要学习它!那么为什么要学习python呢?01、国家政策支持,加快培养聚焦人工智能人才02、传统教育改革,掀起了全民“学Python”热潮03、国家战略目标--

2022-07-13 10:20:46 187 2

原创 都年末了!你竟然还没有康过这份清华大佬整理的多线程并发手册?

说起“多线程高并发”相信大家都不陌生!那么什么是多线程高并发?多线程与高并发大概讲六大块,第一:基本的概念,从什么是线程开始第二:JUC同步工具,就是各种同步锁第三:同步容器第四:线程池第五:高频面试加分项的一些面试用的东西,包括纤程第六:Disruptor​学习路线可以说搞懂这六大多线程高并发板块你面试已经十拿九稳了!多线程高并发手册:声明:本书为@马士兵教育内部资料,未经授权禁止转载传阅!今天给大家分享的这份手册是由咱们的@马士兵教育总裁-@马士兵老师亲自手写的一份多线程高并发图册PDF版,这份手

2022-07-13 09:58:21 106

原创 YYDS!阿里技术官最新总结的分布式核心技术笔记已上线,堪称福音

众所周知,SpringBoot最大的一个优势就是可以进行自动化配置,简化配置,不需要编写太多的xml配置文件;基于Spring构建,使开发者快速入门,门槛很低;SpringBoot可以创建独立运行的应用而不需要依赖于容器;内置tomcat服务器,不需要打包成war包,可以直接放到tomcat中运行;提供maven极简配置,以及可视化的相关监控功能,比如性能监控,应用的健康程度等;为微服务SpringCloud奠定了基础,使得微服务的构建变得简单;Spring可以整合很多各式各样的框架,并能很好的集成。所以今

2022-07-13 09:37:51 99

原创 字节半天*3面/5天拿offer,全凭自身硬实力和这份Java面试笔记

先说说大致情况把,当时是下午两点约的一面,没想到直接面到六点一次性面完了。。。面试部门:北京的基础架构,后端开发​一面:讲一讲hash表hash冲突了怎么办?(拉链)除了拉链还有吗?(开放地址法,不是很了解,听过)如果使用hash进行分布式存储有什么弊端?(可扩展性不强,例如增加节点和节点宕机的情况)如何解决?(一致性hash,提到了redis的哈希槽)讲一讲吧一致性hash会出现什么问题?(数据倾斜问题)如何解决?(虚拟节点)介绍JVM(五大部分)什么时候会GC?(答GC过程)你说的MajorGC和ful

2022-07-13 09:25:13 124

原创 腾讯学长分享的这份Java面试八股文手册,让我GitHub下载量破百万

今天聊聊跳槽新年即将开启,一些不满现状,被外界的“高薪”“好福利”吸引的人,一般就在这时候毅然决然地跳槽了。跳槽是为了寻求更好的发展,但在跳槽前我们也不能确定下家就是更好的归宿,这就更加需要我们审慎地去对待,不能盲目跳槽。其次,我们离职和跳槽,其中的原因很大一部分是目前薪资不符合预期。那么首先就要搞清楚,收入是由什么决定的?答案是:价值。为所在公司创造的价值。在此,今天特意找腾讯的一位学长要了一些面试相关的资料和刷题笔记,内容涵盖计算机基础、Java、JVM、spring、设计模式、算法、微服务、分布式、大

2022-07-12 14:20:13 137

原创 首次发布!Alibaba2022版Java高级架构师面试标准手册(对标P7+)

2022年Java高级架构师面试技术标准手册(对标阿里P7架构师)​编辑切换为居中添加图片注释,不超过 140 字(可选)最近这不是马上到最新一年的金三银四面试跳槽季了嘛,好多同学在老师后台私信老师说求一份Java最新的面试题套餐,老师也是苦寻良久找到了这一份2022年阿里巴巴Java高级架构师面试标准手册(对标P7+)的面试参考指南,如果有的小伙伴想在今年进行尝试跳槽,可以刷刷!分布式六大分布式的核心专题,大型网站的核心要点等等内容!​编辑添加图片注释,不超过 140 字(可选)中间件​编辑添加图片注释,

2022-07-12 13:24:59 130 1

原创 阿里大神整理的Java核心知识点和面试官常问到的知识点,压压惊

疫情当下、裁员浪潮,焦虑和不安充斥着这个金三银四。这个时候外部的各种变化愈发证明一个重要的一点:不断提升个人价值的重要性。不是薪资层面的数字简单累积,而是一个人在职场里、在专业领域、在技术上的层层突破和能力塑造,从而建立自己的个人价值。即使面对裁员,也依旧具备不可替代的竞争力;面临危机,也可能会遇到新的机遇和更好的选择。大的变化也可能有很大的机会,任何时候都不要放弃学习和进阶。这里和大家分享一份大神整理的Java核心知识点和面试官经常问到的知识点压压惊!整装重新出发也好,武装进入战斗也罢,希望都能帮到大家。

2022-07-12 13:13:22 114

原创 真的强势,阿里最新版Java架构师招聘职级必备技术手册+面试总结

阿里最新版Java架构师招聘职级必备技术手册​编辑切换为居中添加图片注释,不超过 140 字(可选)目录内容: 这份手册包含了从开始的备战面试到技术到计算机底层/系统设计/面经分享,还原真实的面试场景! 转发+关注后私信(学习)即可免费获取到!​编辑添加图片注释,不超过 140 字(可选)还是给大家简单的展示一下其中的技术内容: Java 基础+集合+多线程+JVM​编辑切换为居中添加图片注释,不超过 140 字(可选)正在上传…重新上传取消​编辑切换为居中添加图片注释,不超过 140 字(可选)计算机基础

2022-07-12 11:56:01 133

原创 阿里最新总结2022年大厂面试真题+核心知识点全面覆盖+答案详解

近期越来越多的程序员感慨面试太难!主要是分为两大因素:一部分是市场环境越来越卷了,一方面是很多大厂对人才水平标准提高了!通过统计小编发现这样说的人大致分为两种人,第一类就算是简历写着有三年或者五年经验,但是自己掌握的技术很少也没有拿的出来的项目,基本就是每天ctrl+c/ctrl+v。第二类就是肚子有东西,但是都不精通,这种的一般多看看锤炼一下就没问题!就小编自己来举例子,前几年也是属于男儿志在四方,感觉自己LZ天下第一,结果被面试官虐的体无完肤,慢慢也是被生活抹平了棱角!所以说人要有自知之明,提早发现问题

2022-07-12 11:28:51 213

原创 神了!阿里数据库专家纯手写了这份604页的Oracle+MySQL攻坚指南

为什么要学习Oracle+MySQL?Oracle在金融、电信、交通、医疗、制造业、能源等诸多领域的使用非常广泛,其拥有完善的生态体系,多样化的数据库选件,在高可用性、高性能、高安全性、高数据服务能力等方面都得到了用户的广泛认可。而随着互联网的兴起,MySQL在数据库领域的地位也日益凸显。随着用户群体规模的不断扩大,MySQL已经逐渐渗透到通信、制造、金融、政府和能源等领域。在数字化转型的进程中,企业级的商用数据库Oracle、DB2不再是必选项,MySQL凭借开源、灵活和操作简便等特性,获得了国内外市场和

2022-07-12 10:22:58 91

原创 肝退卷王!全靠这份让世界500强企业HR点赞的Java程序员面试秘籍

面试技术人员,不是看他有多深多尖端的技术,而是看他的基础是否扎实,是否有团队精神,是否具备可塑能力,是否有奉献精神,大企业缺少的不是技术人员,是综合素质人才。本书的讲解形式很好,没有仅仅停留在技术的表面,而是通过原理、技巧和经验等手段,让读者置身于面试实战中,体会更多技术背后的东西。​完全从实战出发的Java面试技巧紧扣面试精髓,一册在手,工作不愁提供最全的Java面试题分类,帮你有备而战涵盖经典的笔试题+上机题,帮你整理知识库解析考题的要点和技术原理,帮你温故而知新直接展示内容:​​正在上传…重新上传取消

2022-07-12 10:11:44 54

原创 确实牛掰!国内顶尖架构师手撸Vue+SpringBoot神级项目实战手册

前言:不同终端的兴起,对开发人员的要求越来越高,纯浏览器端的响应式页面已经不能满足用户体验的要求,需要针对不同的终端开发不同的定制版本;为了提升开发效率,前后端分离的需求越来越被重视,前端主要负责页面的展现和交互逻辑;后端主要负责业务和数据对接,我们可以定制开发多个版本。内容简介本书以实战项目为主线,以理论基础为核心,引导读者渐进式学习Vue+SpringBoot。Vue可以驱动采用单文件组件和Vue生态系统支持的库来开发复杂的单页面应用;Spring Boot框架是目前微服务框架的最佳选择之一。Vue+S

2022-07-12 10:02:33 248

原创 炸了!力扣官方首发了这套1568页LeetCode算法刷题笔记(彩页版)

你知道现在LeetCode算法在大厂中的重要性吗?前几天小编看了一个国内算法大神的短视频,他就在视频中指出了算法对当下无论是生活还是找工作中都是非常重要的!没错这个人就是江湖人称“左神”的左程云老师小编也简单看了一下一些比较知名互联网大厂的招聘,像阿里,字节,美团,京东,百度等都在简介明确写上了要求“算法精通”!​那么如何达到“算法精通”今天小编特意给大家分享出一套1568页的LeetCode算法刷题(彩页版)笔记,助力你早日在简历写上“算法精通”目录内容:​算法基础​数据结构​​排序​​回溯算法​贪心算法

2022-07-12 09:37:30 204

原创 华为满级大牛首次分享出这份598页网络协议全彩手册,建议收藏

前言前一段时间呢小编就一直学习Netty相关的知识点,太多了 !网络上面的资料真的是花花世界迷人眼,让我一时之间不知道从哪里下手!既然不知道从哪里下手就从最基础的地方,一步一步慢慢来,毕竟一口气吃不成个胖子!Netty 是一款提供异步的、事件驱动的网络应用程序框架和工具,是基于 NIO 客户端、服务器端的编程框架。所以这里我们先以 NIO 和依赖相关的基础铺垫来下手,从而作为 Netty 学习之旅的一个开始。认识HTTP什么是超文本什么是传输什么是协议​HTTP相关组件网络模型OSI 模型浏览器Web服务器

2022-07-11 10:35:36 282

原创 阿里巴巴最新总结「百亿级别并发设计手册」GitHub收获70K标星

前言:随着淘宝购物节和抖音直播平台带货的火热,大批促销活动涌现,「秒杀」这个词也越来越频繁地出现在我们的生活里。除了那些头部的电商公司,某多、某东,还有各种街、某会、某品等,甚至是一些老牌的传统企业,比如苏宁、国美等,也跟着做起了秒杀活动。因此,现在去面试互联网Java/后端开发等岗位,秒杀系统是绝对绕不开的一趴:如何在暴增流量下保持系统的稳定而不宕机?保证数据的准确性而不超卖?怎样减轻高并发情况下对数据库造成的极大负载压力?Redis的数据类型,以及每种数据类型的使用场景?如何基于 SpringBoot+

2022-07-11 10:25:19 788 1

原创 惨败阿里,洒泪复习3个月!上岸美团惨遭面试官狂问MySQL

年初疫情,一直呆家隔离,之前分享过,三次面试阿里都惨败的人(呜呜~我是有多惨呐~)发奋图强啦!!!这次真的是血拼(洒泪复习整整3个月呐~),发誓我会回来的。所以7月初再次投岗美团,上周也收到了Offer(喜极而泣呀)。拿到美团Offer后,思来想去,我觉得Mysql也并不是特别难吧!不知道那个面试官为什么一直问我Mysql!下面分享面试题以及我花费3个月整理面试宝典!需要获取这份文档的小伙伴可以直接点赞+转发+关注后私信(学习)即可获取!​TokuDB( Fractal Tree-节点带数据)TokuDB

2022-07-11 10:17:54 595 1

原创 Java变量类型 Java进阶必看

目录Java中有三种变量类型:类变量、成员变量、局部变量变量的格式:type 变量名 = 值以及值之后的冒号int a, b, c; // 声明三个int型整数:a、 b、cint d = 3, e = 4, f = 5; // 声明三个整数并赋予初值byte z = 22; // 声明并初始化 zString s = "runoob"; // 声明并初始化字符串 sdouble pi = 3.14159; // 声明了双精度浮点型变量 pi

2022-07-11 09:46:26 72

原创 java上位机开发(c库调用)

所有的动态语言,包括在java在内,一般都会提供一个调用c库的方法。java语言的出现是在上个世纪90年代,而c/c++出现的时间要更早一点,大约提前了20多年,所以在这过程当中积累了很多的资源可以调用。此外,由于c/c++可以直接控制硬件,可以直接加速算法的执行,所以作为上位机开发的同学来说,掌握好c库调用也是很有必要的。c库调用的方法很多,比较常用的就是jni。jvm作为java虚拟机,调用class字节码,这个大家都了解。那字节码如果需要调用c库,一般会在java代码中有一个显示调用的过程,关键字是n

2022-07-11 09:44:03 533

原创 Java8中的LongAdder类,大大提升CAS性能

​这篇文章给大家聊一下java并发包下的CAS相关的原子操作,以及Java 8如何改进和优化CAS操作的性能。因为Atomic系列的原子类,无论在并发编程、JDK源码、还是各种开源项目中,都经常用到。而且在Java并发面试中,这一块也属于比较高频的考点,所以还是值得给大家聊一聊。场景引入,问题凸现好,我们正式开始!假设多个线程需要对一个变量不停的累加1,比如说下面这段代码:实际上,上面那段代码是不ok的,因为多个线程直接这样并发的对一个data变量进行修改,是线程不安全性的行为,会导致data值的变化不遵照

2022-07-11 09:35:06 148

原创 Spring Boot快速接入Prometheus监控|写给Java开发运维

最近跟几个粉丝聊天吹水,说最近公司裁员严重,不仅裁掉了大部分的人,也裁掉了大部分的业务;之前公司有钱赚,什么产品都愿意做,无论行不行都会试一试,一堆没有什么流量的系统都在线上跑着,但是没有上级发话,一个也不敢停掉。站着资源不说,关键还得保证活着,基本就是运维人员要和系统同在,搞得我们这些运维苦不堪言。公司高层领导突然变得雷厉风行,貌似是撑不下去了,不赚钱的业务开发人员全部裁掉,一个不留,对应的系统直接下线;运维人员只留下一部分,内部活水几个开发人员过来,部门从此改名为 DevOps 团队,大多数系统已经没有

2022-07-11 09:13:15 354

原创 Java字节码增强技术Bytebuddy探路篇

目录最近为了实现Java应用RPC调用的录制和Mock回放,需要以无侵入方式获取到RPC方法的出入参数和返回响应消息等数据,于是踏上了Java字节码增强技术的道路摸索,这个非常类似Trace所使用的相关技术,不过需要深入到RPC方法级别,对指定方法进行无侵入方式切面处理。先后对ASM/Javaassist/Bytebuddy等技术进行了调研等,本文是对所做摸索探路工作的总结,若读者有类似Trace场景需求,可以进行借鉴参考。在众多比较之后最后选择的是Bytebuddy技术。Java字节码是众多字节码增强技术

2022-07-09 13:13:24 477

原创 Java开发学习(九)----IOC之核心容器

这里所说的核心容器,大家可以把它简单的理解为 ,前面虽然已经用到过,但是并没有系统的介绍过,接下来咱们从以下几个问题入手来下容器的相关知识:如何创建容器?创建好容器后,如何从容器中获取bean对象?容器类的层次结构是什么?BeanFactory是什么?在解决上述问题之前,先来准备下环境:创建一个Maven项目pom.xml添加Spring的依赖<dependencies> <dependency> <groupId>org.springfram

2022-07-09 10:45:54 138

原创 Java 多线程同步常用的三种方法

因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会导致变量值或对象的状态出现混乱,从而导致程序异常。举个例子,如果一个银行账户同时被两个线程操作,一个取100块,一个存钱100块。假设账户原本有0块,如果取钱线程和存钱线程同时发生,会出现什么结果呢?取钱不成功,账户余额是100.取钱成功了,账户余额是0.那到底是哪个呢?很难说清楚。因此多线程同步就是要解决这个问题。1、synchronized锁住方法 同步方法即有synchronized关键字修饰的方法。 由于java的

2022-07-09 10:33:05 631

原创 一些可以显著提高大型 Java 项目启动速度的尝试

我们线上的业务 jar 包基本上普遍比较庞大,动不动一个 jar 包上百 M,启动时间在分钟级,拖慢了我们在故障时快速扩容的响应。于是做了一些分析,看看 Java 程序启动慢到底慢在哪里,如何去优化,目前的效果是大部分大型应用启动时间可以缩短 30%~50%主要有下面这些内容秉承着无观测不优化的想法,首先我们要知道启动慢到底慢在了哪里。我之前分享过很多次关于火焰图的使用,结果很多人遇到问题就开始考虑火焰图,但是一个启动慢其实是一个时序问题,不是一个 hot CPU 热点问题。很多时候慢,不一定是 cpu 占

2022-07-09 10:18:45 262

原创 JAVA注解篇

目录Java将注解抽取到doc文件中: JDK中预定义的一些注解4.在程序中使用(解析)注解:应用于说明程序,给计算机看的。注解也叫做元数据,一种代码级别的说明。他是JDK1.5之后版本引入的一个特性,与类,接口,枚举是在同一个层次。它可以声明在包,类,字段,方法,局部变量,方法参数等的前面,用来对这些数据进行说明。1.JDK1.5之后新特性2.说明程序的3.使用注解:@注解名称1.编写文档:通过代码里标识的元数据(注解)生成文档【生成文档doc文档】2.代码分析:通过代码里标识的元数据(注解)对代码进行分

2022-07-09 09:50:05 236

原创 Java并发之AbstractQueuedSynchronizer(AQS)详解

前言Java编程学到并发这块,我们不得不提及ReentrantLock;而关于ReentrantLock,又要求我们必须要掌握好AQS!目录三、AQS对资源的共享方式何为AQS?AQS 的全称为 AbstractQueuedSynchronizer ,翻译过来的意思就是抽象队列同步器。AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的 ReentrantLock/Semaphore/CountDownLatch ...。这个类在 java.util.concurrent.lo

2022-07-09 09:42:11 71

原创 Java 通用配置(四)版本配置实现

Java 通用配置(一)设计(二)JVM和环境变量实现(三)用户配置实现(四)版本配置实现本系列参考实现:config: 参数配置,支持按版本设置默认值,支持用户覆盖默认配置,支持环境变量和系统变量,支持Spring配置GitHub - mybatis-mapper/config: 参数配置,支持按版本设置默认值,支持用户覆盖默认配置,支持环境变量和系统变量,支持Spring配置版本配置是提供给 模块开发者 使用的, 模块的使用者 可以使用默认的最新版本配置或者通过参数指定要使用的版本配置。模块开发者一般会

2022-07-09 09:37:41 200

原创 解析java中的构造方法

一种特殊的方法,特殊在其 不用写返回值类型特殊在 方法名必须与类名保持一致注意:构造方法(构造器) 不会被void修饰2.1.1 示例代码public class Dog { private String name; private String sex; private String type; private int age; //定义一个无参构造 public Dog(){ System.out.println("进入

2022-07-09 09:35:23 230

空空如也

空空如也

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

TA关注的人

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