首页
学习
活动
专区
工具
TVP
发布

Java架构筑基

专栏成员
85
文章
127597
阅读量
23
订阅数
Java研发面试题『八部曲』——从第一步开始
Java中主要有如下几种类型的变量 局部变量 类变量(静态变量)-- 属于类 成员变量(非静态变量)-- 属于对象
本人秃顶程序员
2019-10-07
5830
面试官:你竟然不晓得Mybatis用了哪些设计模式?
虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。
本人秃顶程序员
2019-06-28
3840
Spring依赖注入:@Autowired,@Resource和@Inject区别与实现原理
点关注,不迷路;持续更新Java架构相关技术及资讯热文!!! 一、spring依赖注入使用方式 @Autowired是spring框架提供的实现依赖注入的注解,主要支持在set方法,field,构造函数中完成bean注入,注入方式为通过类型查找bean,即byType的,如果存在多个同一类型的bean,则使用@Qualifier来指定注入哪个beanName的bean。 与JDK的@Resource的区别:@Resource是基于bean的名字,即beanName,来从spring的IOC容器查找bean
本人秃顶程序员
2019-06-13
2.8K0
资深程序员总结:彻底理解Spring容器和应用上下文
有了Spring之后,通过依赖注入的方式,我们的业务代码不用自己管理关联对象的生命周期。业务代码只需要按照业务本身的流程,走啊走啊,走到哪里,需要另外的对象来协助了,就给Spring说,我想要个对象——于是Spring就很贴心的给你个对象。
本人秃顶程序员
2019-06-13
9640
面试官:为什么mysql不建议执行超过3表以上的多表关联查询?
前段时间在跟其他公司DBA交流时谈到了mysql跟PG之间在多表关联查询上的一些区别,相比之下mysql只有一种表连接类型:嵌套循环连接(nested-loop),不支持排序-合并连接(sort-merge join)与散列连接(hash join),而PG是都支持的,而且mysql是往简单化方向去设计的,如果多个表关联查询(超过3张表)效率上是比不上PG的。
本人秃顶程序员
2019-06-09
8.3K0
SpringMVC知识点梳理—够你面试掰活的(超详细)
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。
本人秃顶程序员
2019-06-06
1.1K0
详解Spring Boot的应用限流
比如最近就有个这样的需求,我作为客户端要向kafka生产数据,而kafka的消费者则再源源不断的消费数据,并将消费的数据全部请求到web服务器,虽说做了负载(有4台web服务器)但业务数据的量也是巨大的,每秒钟可能有上万条数据产生。如果生产者直接生产数据的话极有可能把web服务器拖垮。
本人秃顶程序员
2019-06-05
5260
JVM优化Java代码时都做了什么?
JVM 在对代码执行的优化可分为运行时(runtime)优化和即时编译器(JIT)优化。运行时优化主要是解释执行和动态编译通用的一些机制,比如说锁机制(如偏斜锁)、内存分配机制(如 TLAB)等。除此之外,还有一些专门用于优化解释执行效率的,比如说模版解释器、内联缓存(inline cache,用于优化虚方法调用的动态绑定)。
本人秃顶程序员
2019-05-28
1.6K0
优秀的Java程序员必须掌握的8项代码编程技巧!
Java是目前最流行的编程语言之一——它可以用来编写Windows程序或者是Web应用,移动应用,网络程序,消费电子产品,机顶盒设备,它无处不在。
本人秃顶程序员
2019-05-27
9390
算法之常见排序算法-冒泡排序、归并排序、快速排序
对于编程中琳琅满目的算法,本人向来是不善此道也不精于此的,而说起排序算法,也只是会冒泡排序。还记得当初刚做开发工作面试第一家公司时,面试官便让手写冒泡排序(入职之后才知道,这面试官就是一个冒泡排序"病态"爱好者,逢面试必考冒泡排序-__-)。后来看吴军的一些文章,提到提高效率的关键就是少做事情不做无用功,便对这不起眼的排序算法有了兴趣。刚好今天周末有闲,遂研究一二,与各位道友共享。
本人秃顶程序员
2019-05-26
6840
Docker容器的未来,将继续充分利用Linux功能
Michael Crosby是如今最有影响力的Docker容器开发人员之一,他帮助领导containerd的开发以及担任Open Container Initiative(OCI)技术监督主席。近日,他在DockerCon 19上,Crosby在演讲中概述了Docker的过去,现在以及未来。Docker的早期历史与Linux密切相关,事实证明,Docker的未来也是如此。
本人秃顶程序员
2019-05-22
7590
谈谈对分布式事务的一点理解和解决方案
最近,工作中要为现在的老系统做拆分和升级,刚好遇到了分布式事务、幂等控制、异步消息乱序和补偿方案等问题,刚好基于实践结合个人的看法记录一下一些方案和思路。
本人秃顶程序员
2019-05-22
1.5K0
一篇文章彻底搞懂Java虚拟机
虚拟机:指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统 ,是物理机的软件实现。常用的虚拟机有VMWare,Visual Box,Java Virtual Machine(Java虚拟机,简称JVM)。
本人秃顶程序员
2019-05-21
6860
阿里P8架构师浅析如何避免在Java中检查Null语句
通常,在Java代码中处理null变量、引用和集合很棘手。它们不仅难以识别,而且处理起来也很复杂。事实上,在编译时无法识别处理null的任何错误,会导致运行时NullPointerException。在本教程中,我们将了解在Java中检查null的必要性以及帮助我们避免在代码中进行空检查的各种替代方法。
本人秃顶程序员
2019-05-21
1.2K0
详解后端Java面试——OOA/D,UML,和XML
统一建模语言(Unified Modeling Language,UML)又称标准建模语言;常用图包括:用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图, 协作图),实现图。
本人秃顶程序员
2019-05-18
5980
【面试必备】透过源码角度一步一步带你分析 ArrayList 扩容机制
细心的同学一定会发现 :以无参数构造方法创建 ArrayList 时,实际上初始化赋值的是一个空数组。当真正对数组进行添加元素操作时,才真正分配容量。即向数组中添加第一个元素时,数组容量扩为10。 下面在我们分析 ArrayList 扩容时会降到这一点内容!
本人秃顶程序员
2019-05-17
6410
详解Java—ServiceLoader之源码分析
其构造方法是一个private方法,不对外提供,在使用时我们需要调用其静态的load方法,由其自身产生ServiceLoader对象:
本人秃顶程序员
2019-05-17
1.3K0
使用Java 10的var类型推断的几个注意点!
不加选择地应用var可能会让代码不容易理解,因为模糊了类型这个概念,而人类是依据类型分类进行逻辑思考的,这样就使事情变得更糟,如果使用得当,var可以帮助改进良好的代码,使其更短更清晰,同时不会影响可理解性。
本人秃顶程序员
2019-05-16
1.2K0
如何理解Docker镜像分层?且听百度高级研发工程师细细道来
所以,能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ubuntu, Debian, CentOS 等。
本人秃顶程序员
2019-05-16
1.3K0
深入理解《单例模式》之源码分析
执行这段代码会发现o1<>o2,这就破坏了单例。 为什么呢?罪魁祸首就是如下代码,它是反射的newInstance()的底层实现。
本人秃顶程序员
2019-05-15
5270
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档