自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风吹屁屁凉

一个知不足而努力的java小将

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 由并发引出的一部分基础知识

1. 什么是并发? 程序的并行执行。 2. 什么是程序? 应用进程。 3. 由进程引申出线程,什么是线程? 线程是程序运行的最小单元,轻量级进程,也是CPU调度的最小单位。 4. 有了进程,为什么还要有线程? 线程是程序执行的最小单元,所以线程的创建、销毁都比较快。 5. 哪些方式可以实现线程? 继承Thread类和实现Runnable接口(还有一些其他的线程工具ThreadLocal/T...

2019-11-29 13:46:11 212

原创 通过手写spring理解spring的设计思想以及IOC与DI的原理

只动手不动脑,越学越晕,既动手又动脑,事半功倍。 前言 Demo只是基于web框架简单阐述spring的设计思想,spring实际实现比较复杂,大家可以先从简单原理慢慢来。 设计思想 一、配置 配置web.xml 中的Servlet拦截器: DispatcherServlet 设定init-param:application.properties(以propert...

2019-09-27 16:17:26 546 1

原创 代理模式

一、代理模式的目的 1.保护目标对象 2.增强目标对象 二、代理模式类型 静态代理、动态代理 三、静态代理 其中一种实现逻辑:通过持有被代理对象的引用,在被代理对象执行之前或者之后添加新的处理逻辑,达到增强被代理对象的效果。 package com.ns.proxy.staticproxy.demo1; /** * 顶层接口(Person) */ public interface Perso...

2019-09-23 17:58:23 550

原创 GC

Garbage Collect 垃圾回收 如何确定一个对象是垃圾 引用计数法 对于一个对象而言,如果应用程序持有该对象的引用,就说明该对象不是垃圾,如果一个对象没有任何指针对其引用,那么这个对象就是垃圾。 缺点:如果两个对象互相持有彼此的引用,那么这个对象永远不会被回收。 可达性分析法 定义:通过GC Root的对象,开始向下寻找,看某个对象是否可达。 能作为GC Root的...

2020-01-03 17:02:51 182

原创 虚拟机栈+堆

虚拟机栈和栈帧 每个栈帧中包括局部变量表(Local Variables)、操作数栈(Operand Stack)、指向运行时常量池的引用(A Reference to the run-time constant pool)、方法返回地址(Return Address)、附加信息。 局部变量表 方法中定义的局部变量以及方法的参数存放在局部变量表中。 局部变量表中的变量不可直接使用,如果...

2020-01-03 16:52:01 607

原创 JVM--基础

JVM定义 Java Virtual Machine :Java虚拟机 类加载机制 类加载三步骤:装载(Load)–链接(Link)–初始化(Initialize) 装载:查找和导入.class文件 通过类的全限定名获取定义此类的二进制字节流。 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构(类信息+常量)。 在堆中生成一个代表这个类的java.lang.class对象,...

2020-01-03 14:42:43 175

原创 mybatis学习记录

Mybatis特性 1、使用连接池对连接进行管理 2、SQL与代码分离,集中管理 3、参数映射和动态SQL 4、结果集映射 5、缓存管理 6、重复SQL的提取 7、插件机制 MyBatia映射过程 SqlSessionFactoryBuilder ------>创建工厂类(生产完工厂对象就销毁) 生命周期:方法级别的 SqlSessionFactory ------>创建会...

2019-11-05 16:22:02 169

原创 线程基础简介

线程出现的原因 在多核CPU上,利用多线程可以实现真正意义上的并行执行。 在一个应用进程中,会同时存在多个执行的任务,如果一个任务被阻塞,将会引起其他不依赖该任务的任务也被阻塞;通过对不同的任务创建不同的线程,可以提升程序处理的实时性。 线程可以任务是轻量级的进程,所以线程的创建、销毁比进程更快。 线程的使用 继承Thread类 实现Runnable接口 使用ExecutorServi...

2019-11-05 15:41:39 128

原创 数据库事务

前言:不怕误人子弟,就怕连误都不敢!!! 一、数据库事务 简单理解就是一个操作过程,有始有终的。–>开始–结束(提交或回滚) EXP: 1.事务的开启:BEGIN 2.事务的执行:一系列操作语句 3.事务的提交或回滚:COMMIT/ROLLBACK 二、事务的特性 1.原子性 :操作原子性,要么数据全部提交,要么数据全部回滚,看重的是整个操作过程 2.一致性 :数据一致性,提交前与提...

2019-09-30 16:58:59 161

原创 适配器模式

前言:边动手,边动脑,才能进步,只动手不动脑,一塌糊涂 定义: 将一个接口转化成用户期望的另一个接口,使原本不兼容的类可以一起工作,属于结构型设计模式。 适用场景: 1.已经存在的类,它的方法和需求不匹配(方法结果相同或相似) 2.适配器模式是随着软件维护,由于不同产品,不同厂商造成功能类似而接口不相同的解决方案 实际案例: 比较旧的软件登录只支持用户名和密码登录,现在在用户名和密码登录...

2019-09-26 15:21:27 140

原创 模板模式

前言:边动手,边动脑,才能进步,只动手不动脑,一塌糊涂 定义 又称模板方法模式,定义一个算法的骨架,并且允许子类为一个或多个步骤提供实现,属于行为性设计模式 用途 用来梳理流程标准化的业务场景 应用场景 一次性实现一个算法不变的部分,并将可变的部分留给子类去实现 Demo1 以员工从一家公司离职到另一家公司面试并上班为例(假定必须先离职才能去面试) package com.ns.t...

2019-09-26 14:08:52 201

原创 策略模式

定义 策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换 应用场景 一个系统有很多个类,他们之间的区别就在于他们的行为不同。 Demo:模拟简单支付场景 package com.ns.strategy; import java.math.BigDecimal; /** * 各种支付方式的顶层抽象接口 */ public interface IPayService { vo...

2019-09-25 15:36:38 217

原创 委派模式

作用 负责任务的调用和分配任务 Demo package com.ns.delegate; /** * Boss类,啥都不干,只需要给直接下级下达指令 */ public class Boss { public void command(String command,Leader leader){ leader.doJob(command); } } p...

2019-09-25 10:41:46 194

原创 单例模式

前言:一个简单的学习记录过程,欢迎共同进步 单例模式特点: 1.私有化构造器 2.一次实例化,多次使用 一、饿汉式单例 类加载的时候就已经初始化,并创建单例对象,属于线程安全。 优点:可以直接使用,执行效率高 缺点:类加载的时候就初始化,不管用不用都占用着空间,浪费内存。 二、懒汉式单例 在外部调用的时候再进行初始化 双检查锁实现懒汉单例,避免线程安全问题 内部类实现懒汉单例,提高性能(最优)...

2019-09-20 15:42:26 157

原创 一个简单的springboot+maven多模块+mybatis+redis项目

个人学习记录,如有误,请私聊,如有疑问,一定解答 项目git地址: https://gitlab.com/niusheng123/spmr

2019-09-20 14:51:42 595

原创 linux常用命令

注:文章为学习中于网上搜索而来,如有侵权,请联系 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat...

2019-01-15 21:46:44 148

原创 oracle删除用户下所有表、视图等操作(命令操作)

sqlplus; –登录用户名与密码为需要删除的用户 SET HEAD OFF; SPOOL e:/drop_tables.sql; –delete tables select ‘drop table ’ || table_name ||’;’||chr(13)||chr(10) from user_tables; –delete views select ‘drop view ’ || vie...

2019-01-15 21:38:48 3692

原创 oracle新建用户

1.新建用户 create user usercode identified by password; 2.新建表空间 create tablespace SPACE datafile ‘F:\SPACE.DBF’ size 200m autoextend on next 32m maxsize 2048m extent management local; 3.新建临时表空间 create tem...

2019-01-15 21:25:32 154

navicat免安装(mysql,oracle)

免安装版navicat,oralce和Mysql都可以用,oracle需要下载对应的sqlplus与basic压缩包

2019-01-15

空空如也

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

TA关注的人

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