Linux
LinuxLinux入门Linux介绍
Linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可
Linux的主要发行版:ubuntu、redhat、centos、suse
Linux目录结构Linux的文件系统时采用层级式的树状目录结构,在此结构中的最上层是根目录 “ / ”,然后在此目录下再创建其他的目录
在Linux世界里,一切皆文件
/bin:存放常用的指令
/dev:设备管理器
/etc:所有的系统管理所需要的配置文件和子目录
/home:存放普通用户的主目录,在Linux中每一个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
/lib:系统开机所需要最基本的动态连接共享库
/media:Linux系统会自动识别一些设备,如U盘、光驱等,当识别后,Linux会把识别的设备挂载到这个目录下
/opt:这是给主机额外安装软件所摆放的目录,如安装MySQL数据库就可放到该目录下
/root:超级用户的用户主目录
/boot:存放的是启动Linu ...
sql语句整理
DML语句整理
Redis
Rediswindows版本
linux版本操作参考
NoSQLNoSQL是解决性能问题的一种技术,Redis是一种典型的NoSQL数据库
RedisRedis的操作基本都是基于内存的,CPU资源根本就不是Redis的性能瓶颈,所以Redis不需要通过多线程技术来提升CPU利用率。
redis是设计为为缓存使用的
redis所有的操作都是原子性的。采用单线程处理所有业务,命令是一个一个执行的,因此无需考虑并发带来的数据影响
基础操作开启 redis 数据库
在安装目录下使用 redis-server.exe redis.windows.conf 命令打开
help命令
help command 获得指定命令的帮助文档
help 获得一个列表的帮助文档
help @group 获得群组的帮助文档
set命令
set key value
插入一个数据,以 key 为键,以 value 为值
get命令
get key
以 key 获得一个数据
del命令
del key
删除一个数据
quit、exit命令
qui ...
MyBatis学习笔记
MyBatisMyBatis半自动框架主要解决了Hibernate全自动框架的黑盒操作,不支持对sql语句不能高定制的问题
mybatis下载
使用MyBatis不使用接口式编程1、引入依赖:
2、创建一个数据库映射类(bean)
3、实现
每一次都需要获得sqlSession对象,sqlSession相当于程序与数据库的一次会话,使用完后需要关闭,sqlSession对象通过SqlSessionFactory(数据库会话工厂)对象获得,SqlSessionFactory对象通过SqlSessionFactoryBuilder对象构建
每次需要查询数据库时,使用sqlSession对象的selectOne(选择一个sql语句)方法,其有两个参数(一为sql语句的唯一标识,二为sql语句需要的参数)
测试类
123456789101112131415161718192021222324252627282930313233public class MybatisTest { /** * 1、根据xml配置文件(全局配置文件)创建一个SqlSessionFac ...
单例模式详解
单例模式
单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
注意:
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
优点:
1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。
2、避免对资源的多重占用(比如写文件操作)。
缺点:
没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。
使用场景:
1、要求生产唯一序列号。
2、WEB 中的计数器,不用每次刷新都在数据库里加一次,用单例先缓存起来。
3、创建的一个对象需要消耗的资源过多,比如 I/O 与数据库的连接等。
单例模式的几种实现方式
饿汉模式
描述:基于 classloader ...
SpringMVC学习笔记
SpringMVC学习笔记
LeetCode
LeetCode算法题记录
排序算法与二叉查找树和堆的实现
简单排序冒泡排序排序原理:
1、比较相邻的元素,如果前一个元素比后一个元素大,就交换这两个元素的位置
2、对每一对元素都这样处理,最后的出来的结构就是排序完成的结果
12345678910111213141516171819202122232425262728293031323334class BubbleTest{ public static void main(String[] args) { //integer实现了comparable接口,提供了比较的规则 Integer[] arr = {4,5,6,3,2,1}; Bubble.sort(arr); }}public class Bubble { //对数组a中的元素进行排序 public static void sort(Comparable[] a){ for (int i=a.length-1;i>0;i--){ for ...