Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
Mybatis简介MyBatis历史
MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代码于2013年11月迁移到Github
iBatis一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBatis提供的持久层框架包括SQL Maps和Data Access Objects(DAO)
MyBatis特性
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架
MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集
MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录
MyBatis 是一个 半自动的ORM(Object Relation Mapping)框架
MyBati ...
Spring概述传统JavaWeb开发困惑及解决方案问题一:层与层之间的紧密耦合,接口与实现紧密耦合
解决思路:程序代码不需要手动new对象,第三方根据要求为程序提供需要的bean对象(工厂模式)
问题二:通用的事务功能、日志功能够合在业务代码中
解决思路:程序代码中不需要手动new对象,第三方根据要求为程序提供需要的bean对象的代理对象,通过代理将原对象中的方法进行增强
IoC、DI和AOP思想的提出
IoC思想Inversion of Control,控制反转,强调原来在程序中创建Bean的权利反转给第三方
DI思想Dependency Injection,依赖注入,强调的Bean之间的关系,这种关系第三方负责设置,即由容器将Bean之间的引用关系设置好
AOP思想Aspect Oriented Programming,面向切面编程,功能的横向抽取,主要实现方式是Proxy
Spring框架的诞生Spring框架概述
Spring历史
Spring Framework
BeanFactory快速入门将一个bean对象设置到bean工厂中配置清单是BeanFactory创建Bea ...
Java进阶
未读动态代理概念无侵入式的给方法增强功能
动态代理三要素
真正干活的对象
代理对象
利用代理调用方法
切记一点:代理可以增强或者拦截的方法都在接口中,接口需要写在newProxyInstance的第二个参数里。
12345678910111213141516171819public class Test { public static void main(String[] args) { /* 需求: 外面的人想要大明星唱一首歌 1. 获取代理的对象 代理对象 = ProxyUtil.createProxy(大明星的对象); 2. 再调用代理的唱歌方法 代理对象.唱歌的方法("只因你太美"); */ //1. 获取代理的对象 BigStar bigStar = new BigStar("鸡哥"); Star proxy = ...
反射概念专业的解释:
反射允许对成员变量、成员方法、构造方法的信息进行编程访问
是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;
对于任意一个对象,都能够调用它的任意属性和方法;
这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。
通俗的理解:
利用反射创建的对象可以无视修饰符调用类里面的内容
可以跟配置文件结合起来使用,把要创建的对象信息和方法写在配置文件中。读取到什么类,就创建什么类的对象读取到什么方法,就调用什么方法此时当需求变更的时候不需要修改代码,只要修改配置文件即可。
获取class对象的三种方式
Class.forName(“全类名”)
在源代码阶段使用
类名.class
在加载阶段使用
对象.getClass();
运行阶段使用
1234567891011121314151617181920212223//1.Class这个类里面的静态方法forName//Class.forName("类的全类名"): 全类名 = 包名 + 类名Class clazz1 = Class.forName(&qu ...
Java进阶
未读概述
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统
网络编程在网络通信协议下,不同计算机上运行的程序,可以进行数据传输
网络编程三要素IP地址要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个标识号。也就是设备的标识
IPv4IPv4地址不够使用,通过公网IP节省IP
IPv6
类InetAddressInetAddress:此类表示Internet协议(IP)地址
该类没有对外提供构造方法,通过getByName()方法获取对象,方法底层先判断使用的IPv4或IPv6,再创建子类对象。
相关方法:
方法名
说明
static InetAddress getByName(String host)
确定主机名称的IP地址。主机名称可以是机器名称,也可以是IP地址
String getHostName()
获取此IP地址的主机名
Stri ...
Java进阶
未读1 线程状态1.1 状态介绍当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。线程对象在不同的时期有不同的状态。那么Java中的线程存在哪几种状态呢?Java中的线程
状态被定义在了java.lang.Thread.State枚举类中,State枚举类的源码如下:
123456789101112131415161718192021222324252627282930public class Thread { public enum State { /* 新建 */ NEW , /* 可运行状态 */ RUNNABLE , /* 阻塞状态 */ BLOCKED , /* 无限等待状态 */ WAITING , /* 计时等待 */ TIMED_WAITING , /* 终止 */ TERMINATED; } ...
病隙碎笔作者史铁生(1951—2010),当代中国著名作家,北京人。21岁因病致残,此后长期与病痛为伴,却始终坚持写作,将个人的苦难体验转化为对生命与存在的深刻思考。其代表作有《我与地坛》《病隙碎笔》《务虚笔记》等,文字质朴而富含哲理,主题多涉及生死、信仰、母爱与人生意义。他被誉为“写灵魂的作家”,在中国当代文学中具有独特而重要的地位。
写作背景《病隙碎笔》是史铁生在身患重病、与病痛长期抗争的境遇中写下的随笔集。由于透析和病痛使他难以长时间写作,他只能在病情稍缓的“病隙”中记录思绪,以片段化的文字写下对生死、信仰、人生与写作的思考。这部作品既是他生命经验的凝结,也是他在生命边缘对存在意义的追问与总结。
引言爱,原就是自卑弃暗投明的时刻。自卑,或者在自卑的洞穴里步步深陷,或者转身,在爱的路途上迎候解放。爱是软弱的时刻,是求助于他者的心情,不是求助于他者的施予,是求助于他者的参加。爱,即分割之下的残缺向他者呼吁完整,或者竟是,向地狱要求天堂。
Java进阶
未读须知少时拏云志,曾许人间第一流
基本概念
并发和并行
并行:在同一时刻,有多个指令在多个CPU上同时执行
并发:在同一时刻,有多个指令在单个CPU上交替执行
进程和线程
线程是操作系统能够进行运算调度的最小单位。它被包含在进程中,是进程中的实际运作单位。简单理解为:应用软件中相互独立,可以同时运行的功能
进程:是正在运行的程序独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的并发性:任何进程都可以同其他进程一起并发执行
线程:是进程中的单个顺序控制流,是一条执行路径 单线程:一个进程如果只有一条执行路径,则称为单线程程序 多线程:一个进程如果有多条执行路径,则称为多线程程序
多线程的实现方式
继承Thread类
实现Runnable接口
实现Callable接口
继承Thread类
123456789101112131415package thread.case1;public class MyThread extends Thread{ /** ...

















