标签:生命

Java

面试官:读过 Mybatis源码吗?知道用了那9种设计模式吗?

18

changyuan.xu 发布于 2019-09-20

点击上方“ 搜云库技术团队 ”,选择“ 设为星标 ” 回复“ 1024 ”或 “ 面试题 ” 获取 4T 学习资料 虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入...

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

Spring

相亲相爱的@Import和@EnableXXX

1

wenming.gapo 发布于 2019-09-20

扫描文末二维码或者微信搜索公众号 菜鸟飞呀飞 ,即可关注微信公众号,阅读更多Spring源码分析文章 1. @Import注解 通过Import注解,我们有三种方式可以向Spring容器中注册Bean。相当于Spring中XML的标签。 1.1 直接注册 例如:@Import(R...

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

编程技术

Netty原理架构解析

6

Harries 发布于 2019-09-20

编辑推荐: 本文来自于csdn,本文主要介绍了关于Netty的原理架构解析,介绍的Netty Reactor 模型以及服务端 Netty 的工作架构,希望对您的学习有所帮助。 Netty是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。JDK原生...

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

Spring

Spring 框架基础(02):Bean的生命周期,作用域,装配总结

1

yeseng 发布于 2019-09-20

本文源码: GitHub·点这里 || GitEE·点这里 一、装配方式 Bean的概念:Spring框架管理的应用程序中,由Spring容器负责创建,装配,设置属性,进而管理整个生命周期的对象,称为Bean对象。 1、XML格式装配 Spring最传...

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

Java

Java内存模型(JMM)

8

xirruiqiang 发布于 2019-09-19

在 JMM 中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间必须存在 happens-before 关系。 happens-before 原则非常重要,它是判断数据是否存在竞争、线程是否安全的主要依据,依靠这个原则,我们解决在并发环境下两操作之间是否可能存在冲突...

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

Spring

品Spring:真没想到,三十步才能完成一个bean实例的创建

40

yeseng 发布于 2019-09-19

在容器启动快完成时,会把所有的单例bean进行实例化,也可以叫做预先实例化。 这样做的好处之一是,可以及早地发现问题,及早的抛出异常,及早地解决掉。 本文就来看下整个的实例化过程。其实还是比较繁琐的。 一 、从容器中找出所有的bean定义名称 因为不知道谁是单例bean,所以只能...

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

编程技术

架构设计实践五部曲(一):架构与架构图

6

songhua.gao 发布于 2019-09-19

本文是架构设计实践五部曲系列文章的第一篇,架构与架构图。本文将对架构作深入的阐释,并教你什么时候画架构图、怎么画架构图。 在日常系统开发过程中,作为技术人员想必大家都参与过 架构设计 的工作。做过一段系统架构工作之后,心里对于架构产生了越来越多的问题。 对于系统的架构,它的本质是...

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

Spring

面试官:你知道Spring中有哪些可以让我们扩展的地方么

1

尖兵 发布于 2019-09-19

大家都知道我这段时间陆续更新了Spring系列源码分析以及各种扩展点的文章,到了今天可以总算可以更新这篇文章了 首先列举一下一个经典的面试题:Spring中Bean的生命周期: 开始初始化容器 加载 BeanFactoryPostProcessor 实现类 执行 BeanFact...

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

编程技术

Linux 内核系统架构介绍

13

邓龙华 发布于 2019-09-18

28年前(1991年8月26日)Linus公开Linux的代码,开启了一个伟大的时代。 这篇文章从进程调度,内存管理,设备驱动,文件系统,网络等方面讲解Linux内核系统架构。 Linux的系统架构是一个经典的设计,它优秀的分层和模块化, 融合了 数量繁多的设备和不同的物理架构,...

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

Java

最新115道华为、京东、滴滴、美团精选Java面试题整理

4

邓龙华 发布于 2019-09-18

京东面试题 1. 一般sql注入怎么发现触点的,从源码阐述sqlmap如何测试注入点的。 2. masscan扫描端口时靠什么检测,为什么这么快? 请详述. 3. 你写过哪些小工具,你为你使用过的工具做过什么修改. 4. 如何提高采用python编写的扫描速度,谈谈对GIL锁的了...

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

编程技术

阿里P7架构师浅析:如何优化Java程序设计和编码提高性能!

changyuan.xu 发布于 2019-09-18

通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。 一、对象的生成和大小的调整。...

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

Java

java教程系列一:什么是Java语言?

3

hellas 发布于 2019-09-18

海上生明月,天涯共此时。 Java 是一种通用的计算机编程语言,它具有卓越的通用性、高效性、平台移植性和安全性。它旨在让应用程序开发人员 “write once, run anywhere” ( WORA ),这意味着编译的 Java 代码可以在支持 Java 的所有平台上运行,...

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

Java

java架构之路-(源码)mybatis执行流程源码解析

11

darida 发布于 2019-09-18

这次我们来说说Mybatis的源码,这里只说执行的流程,内部细节太多了,这里只能授之以渔了。还是最近的那段代码,我们来回顾一下。 package mybatis; import mybatis.bean.StudentBean; import mybatis.dao.Studen...

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

Java

Java面经分类以及总结(2)–思考

5

changyuan.xu 发布于 2019-09-17

hashmap是一个非线程安全的集合。 他的线程不安全出现在,并发情况下可能会出现链表成环的问题,导致程序在执行get操作时形成死循环。 hashmap成环原因的代码出现在transfer代码中,也就是扩容之后的数据迁移部分 解决问题: 使用synchronize ,或者使用co...

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

编程技术

花椒移动端基础框架架构

11

邓龙华 发布于 2019-09-17

奇技指南 本文转载自花椒技术。作者:花椒android组 背景 随着公司业务需求的不断增加、三方合作不断接入、新APP快速产出,就会出现想在原有的代码中想增加新的业务和功能,怕影响老逻辑,想不影响老逻辑,去扩展又扩展不了的局面,就需要对应用的架构做相关的设计和优化,使可以快速复用...

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

编程技术

未指定标题的文章

1

puefu.he 发布于 2019-09-17

https://upload-images.jianshu… 节省时间的方法有俩,一个是放弃做一些事,在做一些事的时候同步做另一些事。另一种就是改进做一些事的效率,更快地做一些事。寻找更加高效、好用的工具所花费的时间,和这些工具将为你节省的时间相比,九牛一毛。 今天给...

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

Java

java架构之路-(源码)mybatis的一二级缓存问题

6

邓龙华 发布于 2019-09-17

上次博客我们说了mybatis的基本使用,我们还捎带提到一下Mapper.xml中的select标签的useCache属性,这个就是设置是否存入二级缓存的。 回到我们正题,经常使用mybatis的小伙伴都知道,我们的mybatis是有两级缓存的,一级缓存默认开启,我们先来一下一级...

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