自定义博客皮肤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 140

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

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

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

原创 代理模式

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

2019-09-23 17:58:23 466

原创 GC

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

2020-01-03 17:02:51 115

原创 虚拟机栈+堆

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

2020-01-03 16:52:01 511

原创 JVM--基础

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

2020-01-03 14:42:43 105

原创 mybatis学习记录

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

2019-11-05 16:22:02 87

原创 线程基础简介

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

2019-11-05 15:41:39 72

原创 数据库事务

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

2019-09-30 16:58:59 81

原创 适配器模式

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

2019-09-26 15:21:27 81

原创 模板模式

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

2019-09-26 14:08:52 139

原创 策略模式

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

2019-09-25 15:36:38 134

原创 委派模式

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

2019-09-25 10:41:46 132

原创 单例模式

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

2019-09-20 15:42:26 93

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

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

2019-09-20 14:51:42 520

原创 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 86

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

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

2019-01-15 21:38:48 3544

原创 oracle新建用户

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

2019-01-15 21:25:32 96

navicat免安装(mysql,oracle)

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

2019-01-15

空空如也

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

TA关注的人

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