摘要:
一、源码分析
源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂。
源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。
我认为是阅读源码的最核心驱动力。我见到绝大多数程序员,对学习的态度,基本上就是这几个层次(很偏激哦):
1、只关注项目本身,不懂就baidu一... 阅读原文
2018-03-06 22:46:03 阅读(841) 评论(0)
摘要:
Java语言是强类型语言,强类型包含两方面的含义:①所有的变量必须先声明、后使用;②指定类型的变量只能接受类型与之匹配的值。
Java语言支持的类型分为两类:
l 基本类型:包括整数类型、浮点类型、Boolean类型、字符类型。
l 引用类型:包括类、接口、数组类型和null类型。所谓引用数据类型就是对一个对象的... 阅读原文
2018-03-06 22:41:03 阅读(709) 评论(0)
摘要:
一、MyBatis
1、MyBatis 介绍(百度)
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJ... 阅读原文
2018-03-06 21:19:02 阅读(722) 评论(0)
摘要:
一. exit退出异常:
import java.util.Scanner;
public class Test3exit {
/**
* @param 房山的猫
* finally什么时候不走
* alt+shift+z
*/
public stati... 阅读原文
2018-03-06 20:06:07 阅读(748) 评论(0)
摘要:
Autowired注解
Autowired顾名思义,表示自动注入,如下是Autowired注解的源代码:
@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementTy... 阅读原文
2018-03-06 18:02:02 阅读(786) 评论(0)
摘要:
1、逆向工程的作用
Mybatis 官方提供了逆向工程,可以针对数据库表自动生成Mybatis执行所需要的代码(包括mapper.xml、Mapper.java、pojo)。
2、逆向工程的使用方法
逆向工程需要的jar包如下图所示:
也可以直接下载我Github上面的源代码(https://github.com/... 阅读原文
2018-03-06 16:42:15 阅读(701) 评论(0)
摘要:
package com.swift.jinji;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileFilter;
import java... 阅读原文
2018-03-06 16:03:02 阅读(741) 评论(0)
摘要:
此次文章主要探讨volatile与synchronized,通过一些基础概念的介绍,让读者对于两者有更深的了解。
一、几个相关概念
1、原子性
其本意是“不能被进一步分隔的最小粒子”,而原子操作意为“不可被中断的一个或一系列操作”。在多处理器重实现原子操作变得有点复杂。
1)操作系统如何实现原子性。
单处... 阅读原文
2018-03-06 15:27:06 阅读(732) 评论(0)
摘要:
从事Java开发已有好几年,一些基础的东西容易忘记,该篇博客主要对JVM内存模型以及GC回收算法以自己的理解和认识做以记录。
内存模型
GC垃圾回收
1.内存模型
从上图可以看出,JVM分为 方法区,虚拟机栈,本地方法栈,堆,计数器 5个区域。其中最为重要的就是栈和堆。
栈:存放基本数据类型 和 引用
堆:... 阅读原文
2018-03-06 13:59:03 阅读(759) 评论(0)
摘要:
问题引出:
编写一个简单的交换值的小程序,如果我们只是简单地定义一个交换函数接收两个数,在函数内部定义一个中间变量完成交换。那么当我们把a,b两个实参传给这个函数时,往往得不到预期的结果。这是为什么呢?
在C语言和C#中:
在C语言中,如果我们运行下列代码:
#include<stdio.h>... 阅读原文
2018-03-06 12:05:02 阅读(754) 评论(0)