菜鸟带你看源码——看不懂你打我ArrayList源码分析(基于java 8)

文章目录看源码并不难软件环境成员变量:构造方法核心方法 看源码并不难 如何学好编程?如何写出优质的代码?如何快速提高自己的编程能力?等等一系列的问题下面,我们通常都会看到一个相同的答案——看源码。But,每次点开JDK的源代码,不到五分钟就又关上了。为啥呢?因为看不懂,因为太枯燥等等。总结成一...

2018-10-23 11:25:57

阅读数 1126

评论数 3

菜鸟学习JVM——分代回收

分代回收 上篇文章介绍了几种垃圾回收的算法,但这些算法当中并没有一个是完美的,可以代替其他所有算法,他们各自有各自的优势。因此JVM需要根据垃圾回收对象的特性,选择合适的回收算法。 JVM中大部分对象的生命周期非常短,朝生夕灭;还有一些对象,他们的生命周期很长,有的甚至长生不老、寿与J...

2016-05-24 14:56:21

阅读数 7135

评论数 10

菜鸟学习JVM——垃圾回收算法

Java垃圾回收算法所有的垃圾回收算法都是为了解决三个问题: * 哪些内存需要回收 * 什么时候回收 * 怎么回收引用计数法(Reference Counting) 引用计数法原理很简单,给每个对象分配一个计数器,当被引用时就加一,引用失效就减一。计数器为零时,则说明该对象不可能再...

2016-05-20 00:34:54

阅读数 6900

评论数 9

菜鸟学Java——Java内存分析

我们常说的Java内存主要分为四大块(寄存器不在考虑之内,我们无法用代码来操控它):stack(栈)、heap(堆)、data segment(数据区)、code segment(代码区)。它们的主要用途如下图所示:       而在上面四个当中,我们经常谈论的是右边那两个家伙——st...

2014-11-30 13:52:12

阅读数 4015

评论数 18

菜鸟要做架构师——java性能优化之for循环

完成同样的功能,用不同的代码来实现,性能上可能会有比较大的差别,所以对于一些性能敏感的模块来说,对代码进行一定的优化还是很有必要的。今天就来说一下java代码优化的事情,今天主要聊一下对于for(while等同理)循环的优化。 作为三大结构之一的循环,在我们编写代码的时候会经常用到。循环结构让我...

2014-11-27 18:06:13

阅读数 28091

评论数 28

菜鸟要做架构师——如何快速开发中小型系统

俗话说:不想当项目经理的程序员不是好的架构师。相信每一个有上进心的程序员,都有一个架构师的梦。最近完成了一个中小型的项目,让我有了一些感受和想法,于是决定新开一个系列——《菜鸟要做架构师》。   经常看我博客的人应该了解,我写了好几个“菜鸟”系列了。有很多人问我,你都是大牛了,怎么写博客还叫菜...

2014-11-10 09:21:11

阅读数 13410

评论数 39

菜鸟学SSH——Struts2内部是如何工作的

前面说完了Spring、Hibernate,很自然今天轮到struts了。struts的核心原理就是通过拦截器来处理客户端的请求,经过拦截器一系列的处理后,再交给Action。下面先看看struts官方的工作原理图:   图1 struts原理图   简单分析一下:首先客户端发来Htt...

2014-07-31 01:38:11

阅读数 4045

评论数 12

菜鸟学SSH——简单模拟Hibernate实现原理

之前写了Spring的实现原理,今天我们接着聊聊Hibernate的实现原理,这篇文章只是简单的模拟一下Hibernate的原理,主要是模拟了一下Hibernate的Session类。好了,废话不多说,先看看我们的代码: package com.tgb.hibernate; import j...

2014-07-25 08:02:04

阅读数 4881

评论数 18

菜鸟学SSH——Spring容器AOP的实现原理——动态代理

之前写了一篇关于IOC的博客——《Spring容器IOC解析及简单实现》,今天再来聊聊AOP。大家都知道Spring的两大特性是IOC和AOP。 IOC负责将对象动态的注入到容器,从而达到一种需要谁就注入谁,什么时候需要就什么时候注入的效果,可谓是招之则来,挥之则去。想想都觉得爽,如果现实生活中...

2014-07-16 16:16:21

阅读数 8769

评论数 10

菜鸟学SSH——Spring容器IOC解析及简单实现

最近一段时间,“容器”两个字一直萦绕在我的耳边,甚至是吃饭、睡觉的时候都在我脑子里蹦来蹦去的。随着这些天一次次的交流、讨论,对于容器的理解也逐渐加深。理论上的东西终归要落实到实践,今天就借助Spring容器实现原理,简单说说吧。 简单的说,Spring就是通过工厂+反射将我们的bean放到它的容...

2014-06-30 08:03:39

阅读数 5609

评论数 11

菜鸟学Java——你知道long和Long有什么区别吗?

Java中数据类型分两种: 1.基本类型:long,int,byte,float,double 2.对象类型:Long,Integer,Byte,Float,Double其它一切java提供的,或者你自己创建的类。 其中Long叫 long的包装类。Integer、Byte和Float也类似,一...

2014-06-15 08:40:54

阅读数 24047

评论数 20

菜鸟学设计模式——小单例有大秘密

单例模式大家并不陌生,也都知道它分为什么懒汉式、饿汉式之类的。但是你对单例模式的理解足够透彻吗?今天我带大家一起来看看我眼中的单例,可能会跟你的认识有所不同。 下面是一个简单的小实例: //简单懒汉式 public class Singleton { //单例实例变量 private...

2013-06-17 08:58:56

阅读数 20785

评论数 179

免费拥有个人云主机——AWS免费EC2套餐

云时代,每个人都应该有一台属于自己的云主机。如今亚马逊推出了免费使用一年的套餐,对于个人用户来说真是一个好消息,今天我们就来学习一下,如何薅这把羊毛吧。 注册 账号信息 打开AWS官网,然后点击右上角的注册,来到注册页面: 个人信息 填入注册信息,然后继续: 付款信息 进一步完善...

2019-07-16 11:36:02

阅读数 42

评论数 1

菜鸟教程之工具使用——Mac(OSX)下媲美XShell的神器Termius

文章目录简介特点软件环境配置配置项配置密钥配置说明配置主机配置项 简介 XShell的大名不用多说,称它为Windows平台最好用的远程终端不为过吧。唯一不足的地方就是它只有Windows版本。所以今天跟大家介绍一款全平台的远程终端——Termius。Termius不仅涵盖了Windows、L...

2019-01-07 15:41:06

阅读数 4441

评论数 11

菜鸟学Spring Cloud——创建服务提供者(Eureka)

书接上回 软件环境 Windows 10 JDK 1.8 IDEA 2018.2 Spring Boot 2.1.0.RELEASE Spring Cloud Greenwich.M1 步骤 创建工程 创建工程的具体步骤在上回书中已经详细展示,这里就不赘述了,只是在选择依...

2018-11-06 09:18:22

阅读数 592

评论数 3

菜鸟学Spring Cloud——创建注册中心(Eureka)

文章目录扯一扯软件环境步骤创建工程pom文件配置声明为注册中心属性配置yamlproperties坑效果下集预告 扯一扯 以下内容将引起极度舒适,请在女朋友的陪同下观看。什么?你没有女朋友?哦,不好意思,我忘了,程序员是没有女朋友的。那就好好学习吧,女朋友总会有的。 软件环境 Windows 1...

2018-11-03 10:27:55

阅读数 1202

评论数 4

菜鸟学Spring Boot——简单到令人发指的CRUD

前情提要 上回书说到,用Spring Boot写了一个Hello World小例子,那么今天就来完成上篇结尾留下的增删改查的实例。 软件环境 Windows 10 JDK 11 IDEA 2018.2 Maven 3.5.4 MySQL 8.0.12 代码 pom文件中需...

2018-10-16 09:59:52

阅读数 522

评论数 1

菜鸟学Spring Boot——Hello Spring Boot

闲聊 本文的目的是让没接触过Spring Boot感受一下它令人发指的方便、快捷、高效率,第一次接触Spring Boot是在16年上半年的事情了,那时候还在日企工作,当时正准备重构一个老项目,太君将Spring Boot引入了进来。那时候Spring Boot在国内还没有太多人用呢,如今它早已...

2018-10-15 09:04:00

阅读数 284

评论数 2

菜鸟调错——Spring Boot+JPA方式报错:MappingException: Could not get constructor for org.hibernate.persister

文章目录错误信息软件版本错误背景前提推理可能遇到的一些问题结束 错误信息 018-10-04 15:58:02.540 ERROR 4572 --- [ main] o.s.boot.SpringApplication Application run failed org.springf...

2018-10-10 14:00:53

阅读数 449

评论数 2

菜鸟学数据库——Windows 10安装MySQL 8.0.12 解压版

文章目录步骤下载解压配置环境变量初始化安装、启动服务修改密码 步骤 下载 解压 配置环境变量 初始化 安装、启动服务 修改密码 下载 下载地址 解压 解压到你想要的位置 配置环境变量 新建 MYSQL_HOME ,对应的值为你刚刚解压的目录,如D:\mysql-8...

2018-10-04 15:43:01

阅读数 395

评论数 1

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