自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 手写spring简易版本

自定义几个注解 用servlet来模拟一个spring,代码结构如下:大体代码逻辑如下:完整代码我发布在github:https://github.com/yangzhenyan/spring_1.git@YController@YRequestMapping("item")public class ItemController { @YAutowired private ItemService itemService; private ItemService item

2020-09-03 17:46:14 225

原创 实现Aop动态代理的方式

代理类:跟目标类是属于同一个继承体系的,它要么是目标类的子类,要么就是实现了一个和目标类相同的接口。主流API:1、JDK的Proxy2、CglibProxy:代理类实现了和目标类相同的接口Cglib:代理类是目标类的子类...

2020-09-29 21:21:35 125

转载 Java 自带性能监控工具:监视和管理控制台 jconsole 的使用

1. 前言Java 自带性能监控工具:监视和管理控制台 jconsole,它可以提供 Java 某个进程的内存、线程、类加载、jvm 概要以及 MBean 等的实时信息。2. JVM 一些参数在启动 jconsole 之前我们先来回顾一下 JVM 的一些主要参数:-Xms 初始/最小堆内存大小-Xmx 最大堆内存大小-Xmn 年轻代大小-XX:NewSize 年轻代大小-XX:MaxNewSize 年轻代最大值-XX:NewRatio 年老代与年轻代比值-XX:MaxPermSize 持

2020-09-25 10:43:40 536

原创 阻塞和非阻塞

同步异步关注的是消息通信机制阻塞非阻塞关注的是程序在等待结果调用时(消息、返回值)的状态阻塞调用:指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回非阻塞调用:指在不得立刻得到结果之后,该调用不会阻塞当前线程...

2020-09-24 11:18:27 441

原创 给表增加一个字段并添加默认值和备注

ALTER TABLE ‘表名’ ADD ‘要新增的列名’ 字段类型和大小 DEFAULT ‘默认值’;COMMENT ON COLUMN ‘表名’.‘列名’ IS ‘备注’;例如:ALTER TABLE tb_user ADD mobile VARCHAR(30) DEFAULT ‘123456789’;COMMENT ON COLUMN tb_user.mobile IS ‘手机号’;...

2020-09-24 11:13:54 2783

原创 并发和并行

并发:是逻辑上同时发生,指在某一个时间内同时运行多个程序。并行:是物理上同时发生,指在某一个时间点同时运行多个程序。

2020-09-24 10:40:55 86

原创 同步和异步

-同步:发送一个请求,等待返回,再发送下一个请求。同步可以避免死锁、脏读的发生-异步:发送一个请求,不等待返回,随时可以再发送下一个请求。可以提高效率,保证并发

2020-09-24 10:28:48 118

原创 为什么要用到并发 并发的缺点

为什么要用到并发①充分利用多核CPU的运算能力②方便业务拆分并发的缺点①频繁的上下文切换②线程安全问题(常见的死锁)

2020-09-24 10:27:58 115

原创 进程与线程

一、进程:正在运行的程序,是系统进行资源分配和调用的独立单位。点击应用程序执行,进入到内存中,占用一些内存执行,进入到内存的程序叫进程二、线程:是进程中的单个顺序控制流,是一条执行路径。一个进程如果只有一条执行路径,则称为单线程程序。一个进程如果有多条执行路径,则称为多线程程序。...

2020-09-24 10:20:56 190

原创 手写Spring之MVC实现(二)

继手写spring之Ioc、DI之后,对其中的mvc功能做了进一步操作主要是自己手动实现mvc九大组件中的其中3个,包括HandlerMapping、HandlerAdapter、ViewResovler。另外又实现了View以及ModelAndView对象代码整体结构如图基本思路流程:MVC(初始化Ioc DI操作完成之后,会初始化MVC九大组件,这里我们实现其中3个组件,初始化之后会执行service)一、initHandlerMapping()1、调用applicationContext

2020-09-20 16:43:17 108

原创 MVC九大组件

组件作用1MultipartResolver多文件上传的组件2LocaleResolver本地语言环境3ThemeResolver主题模板处理器4**HandlerMapping** 保存Url映射关系5**HandlerAdapter** 动态参数适配器6HandlerExceptionResolver异常拦截器7RequestToViemNameTranslator视图提取器,从request中获取viemName...

2020-09-10 14:36:53 883

原创 手写spring之Ioc、DI实现(一)

代码整体结构如图基本思路流程:一、new ApplicationContext() 读取配置文件 获取全类名listBeanDefinitionReader工具类:1.读取xml中配置的文件 Properties读取成键值对形式 获取scanPackage2.向下递归扫描出.class结尾的文件放入全类名list二、扫描子类及其实现的接口(接口的值用子类值存储),封装得到BeanDefinitionList集合1.doLoadBeanDefinitions()遍历全类名list 将beanN

2020-09-10 11:34:06 232

原创 Git复制已有分支到新分支开发

1、创建新分支devgit branch dev2、把新建的分支push到远端git push origin dev3、切换到新分支devgit checkout dev4、验证当前的新分支有没有和本地分支关联git pull5、关联git branch --set-upstream-to=origin/dev6、再次验证是否关联git pull此时远程仓库就已经存在新创建的分支啦删除远程分支:git push origin :dev...

2020-09-03 17:21:27 569

转载 用命令将新项目上传到git

1、(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库git init2、把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件git add .3、用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明git commit -m 'first commit'4、关联到远程库git remote add origin 你的远程库地址5、获取远程库与本地同步合并(如

2020-09-03 16:50:44 276

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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