- 博客(59)
- 收藏
- 关注
翻译 Linux - 常用命令
1. 最最常用的是cd 命令cd 进入用户主目录;cd ~ 进入用户主目录;cd - 返回进入此目录之前所在的目录;cd … 返回上级目录(若当前目录为“/“,则执行完后还在“/";"…"为上级目录的意思);cd …/… 返回上两级目录;ls: 查看当前目录ll: 查看当前目录(内容比ls 更详细)wget:网址(在这个网址上下载东西)curl:打开当前网页, 展示的是网页的ht...
2019-05-12 16:01:23 253
翻译 AOP 简介
示例:表达式修饰符 返回值 包名 类名 方法名 (参数)修饰符一般省略返回值 一般用* (有返回值或者没有返回值)类名不想指定 就用* 代替参数(…) 两个点 标识参数任意...
2019-05-10 16:35:14 252
翻译 动态代理
一。Proxy 里面的newproxyInstance , 来生成代理对象、里面的参数:1.MyProxy.class.getClassLoder(), 拿到代理类加载器2.userServiceImpl.getClass().getInterfaces(),为userServiceImpl 类生成代理对象, 并获得这个类里面的所有接口3. new InvocationHandle...
2019-05-09 18:42:06 105
翻译 RestFul功能
案列:RestFul 风格, 不能xxx.do 这样。 要求url 是 …//// 不能有后缀前台请求配置拦截路径|按以下方式获得参数案例2点page1 调到page1 的页面。。。如果不用RestFul 的方式, 则要在controller 里面写5 个方法使用RestFul 后。 只需要一个方法, 非常灵活案例3 :通过method 指定方...
2019-05-09 18:27:29 220
翻译 SQL - 多表建立索引
1.建表查看class 表的数据查看 book 表单的数据card 为外键, 关联2 个表案例:type 是ALL , row 20 性能差加索引, 先给book 表的card 字段加索引book 是右表, 加了索引。 所以性能比class 表高将右表book 的index 删除, 将index 加在坐标class上性能如下不如将index 在在右表...
2019-05-09 14:38:48 4409
翻译 SQL-索引(二)- 单表建立索引以及优化
单表建立索引1. 创建表2. 插入值3. 查询4. 需求正常查询结果执行过程没有建立索引(主键默认是索引)开始优化以where 后面的查询条件3 个field组合成一个索引新建索引2 个方式建立索引之后的性能type 性能优化了, 但是Extra 还是Using filedsort , 全表扫描, 最坏情况因为comments>1 , 定义的C...
2019-05-09 12:03:51 674
翻译 MySql-七种Join方法
手写顺序机读|Full outer join 只支持 orale 。 mysql 不支持mysql union 两个表相加并去重
2019-05-08 17:12:41 151
原创 十:redis高性能的原因有哪些
数据存储在计算机的内存中, 内存中的数据存取更快set key value 简单存储 块单线程多路复用resp 协议set aaa 1234*3 有3 组数据$3Set$3aaa$41234...
2019-05-07 22:30:17 488
翻译 六: 高并发下如何安全修改同一行数据
多个用户下订单, 生成全局自增的订单ID定义全局变量 a =0,启动50 个线程 生成50 个订单id 时 a+1, 会有重复的订单id 出现。 线程不安全解决:一:基于 jvm 解决方式。1.将全局变量, 自增时得代码块 加Synchorized 关键字2. lock lock= new ReentranLock()try{lock.lock()将全局变量, 自增时...
2019-05-07 14:21:53 3540
原创 五: 事务的隔离级别和传播属性
七个事务传播属性PROPAGATION_REQUIRED – 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 PROPAGATION_SUPPORTS – 支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_MANDATORY – 支持当前事务,如果当前没有事务,就抛出异常。 PROPAGATION_REQUIRES_NEW – 新建事务,如果...
2019-05-07 11:24:55 165
翻译 四:类加载机制,双亲委派模型
1. 类的加载机制加载:找到类的位置, 将java 文件或字节流转换成虚拟机可以处理的内存中确实存在的对象验证:检查每个java 文件对应class 文件符合不符合虚拟机的要求准备: 给static 修饰的变量分配内存并且设置初始值解析:将常量池的引用替换成实际值的过程初始化:类加载最后一步。执行java 代码, 将static 修饰的代码块执行一遍使用: 就是new 出的实例。...
2019-05-07 10:32:04 154
翻译 JVM 内存布局和垃圾回收机制
4. JVM 内存布局和垃圾回收机制程序计数器: 类似代码所在的行号指示器栈:java 虚拟机每执行一个方法, 都会将这个方法打包成栈针投放都虚拟机栈里, 当执行完打包的栈针里面的方法后, 就将这个栈针进行出栈(如下例子, 现将a 打包成栈针放到栈里, 执行a里面的代码, 当执行到b 方法时, 又将b打包成栈针放到栈里,执行b 里面的方法, b 执行完, 将b栈针执行出栈操作, 之后继续执行...
2019-05-05 22:36:23 217
翻译 消息中间件-kafka
什么是Kafkakafka最初是LinkedIn的一个内部基础设施系统。最初开发的起因是,LinkedIn虽然有了数据库和其他系统可以用来存储数据,但是缺乏一个可以帮助处理持续数据流的组件。所以在设计理念上,开发者不想只是开发一个能够存储数据的系统,如关系数据库、Nosql数据库、搜索引擎等等,更希望把数据看成一个持续变化和不断增长的流,并基于这样的想法构建出一个数据系统,一个数据架构。Kaf...
2019-05-04 15:07:18 584
翻译 java异常处理
常见的异常异常处理try-catch-finally 结构throws在这里插入图片描述![在这里插入图片描述](https://img-blog.csdnimg.cn/20190503172408624.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9...
2019-05-03 17:37:09 92
翻译 Java集合类 --Map
1. Map 的树型结构2… HashMap2.LinkedHashMap顺序输出3. Map 常用的使用方法4. TreeMap自然排序:定制排序5.Properties
2019-05-03 13:22:07 101
翻译 Java集合类-Set
为什么会有泛型早起的object 类型可以接收任意的对象类型, 但是在实际的使用中, 会有类型转换的问题, 也就存在着隐患, 所以java 提供了泛型来解决这个安全问题如何使用泛型没使用泛型报错的情况使用泛型1.7 以后 右边的泛型可以不指定, 与左边一致如果泛型不明确指定, 默认是Object 类型泛型值存在于编译时期为了确保强制转换不出错。set 接口...
2019-05-02 21:44:58 266
翻译 java集合类--List
List 与 collection 关系List 和set 是 collection 的子接口List 接口:List 是有序的集合, 也称为序列, 此接口的用户可以滴列表中的每个元素插入位置进行精确的控制。 用户可以根据元素的整数索引(在列表中的位置) 访问元素, 并搜索列表中的元素与set 不同, 列表通常允许有重复的元素常用的方法:list.add 不指定index ...
2019-05-02 16:46:36 206
翻译 java Collection集合类
1 java API : https://pan.baidu.com/s/1eS67BIM2.为 什么有集合类面向对象语言对事物的体现都是以对象的形式, 所以为了方便对对象的操作, java 提供了集合类数组与集合类同是容器有何不同:数组长度固定, 只存储基本数据类型集合类长度是可变的,存储对象集合类的特点:集合只用于存储对象: 集合长度是可变的, 集合可以存储不同类型的对象3.集...
2019-05-02 15:45:52 198
翻译 java并发编程-并发容器
1.ConcurrentHashMap使用hashMap: 引起死循环, CPU 利用率会达到百分之百。 因为hashmap 在多线程下使用的时候, 没有做线程安全的控制, 会使其中的entry链表形成一个环形的数据结构, entry 的next 节点永不为空, 进入死循环HashTable使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因...
2019-04-21 12:14:52 188
翻译 java并发编程-线程池
为什么要用线程池降低资源消耗提高响应速度 T1: 线程创建的时间 T2:工作任务运行额时间 T3: 线程销毁时间提高了线程的可管理性corePoolSize: 核心线程数maxinumPoolSize:允许最大线程数keepAliveTime:空闲线程所存活的时间TimeUnit:keepAliveTime 的时间单位workQueue: 阻塞队列threadF...
2019-04-20 19:33:41 122
翻译 java 并发编程 - 显示锁和CAS
1. 显示锁 Locklock 接口可以提供一些sychnoized 不具备的一些其他特性 如:1。 尝试非阻塞去获取锁2. 可以被终端的获取锁3. 超时获取锁lock 接口的核心方法lock():获取锁, 类似sychnonized 关键字unlock():释放锁(当退出synchnonized 关键字所包围的代码块的时候, 锁自动释放)tryLock(): 尝试非阻塞的去获取...
2019-04-18 22:42:32 175
翻译 并发编程-线程安全
1. 什么是线程安全在多线程访问下, 不管哪个线程调用这个类,这个类总能表现出正确的行为JMM 引发的问题数据不一致, 缓存不一致指令的重排序怎样才能做到线程安全1. 无状态类(没有成员变量的类)public class A{public void proc(int a, int b){ }}2. 让类不可变public class A{private fin...
2019-04-17 22:53:38 137
翻译 各种排序总结
1. 快速排序第一遍排完, 基数左边都比基数小, 右边都比基数大。第二遍, 分别快排基数左边的数组和右边的数组复杂度是:o(nlogn) 最优。 o(n^2) 最坏2. 归并算法先递归切分两个有序的数组进行归并复杂度O(nlogn)3. 冒泡排序每循环依稀, 都找到一个做大的放到后面时间复杂度:一般O(n^2), 最优:O(n)4. 选择排序J 找到最小值的数...
2019-04-12 18:25:05 95
翻译 线程的并发工具类
Fork-Join什么是分而治之?规模为N的问题,N<阈值,直接解决,N>阈值,将N分解为K个小规模子问题,子问题互相对立,与原问题形式相同,将子问题的解合并得到原问题的解工作密取线程A 获取线程B 的task , 执行完后把结果给B 使用的标准范式Fork/Join的同步用法同时演示返回结果值:统计整形数组中所有元素的和单线程计算:使用 Fork/Join:...
2019-04-09 22:10:24 143
原创 使用canal进行mysql数据同步到Redis 踩坑记录
使用的数据库 是MySql 5.7参考:https://blog.csdn.net/tb3039450/article/details/53928351参考:https://blog.csdn.net/john1337/article/details/85166575参考:https://www.cnblogs.com/xujishou/p/6306765.html参考:https://...
2019-04-09 14:08:20 2782
翻译 线程基础、线程之间的共享和协作
基础概念CPU核心数和线程数的关系核心数:线程数=1:1 ;使用了超线程技术后—> 1:2CPU时间片轮转机制又称RR调度,会导致上下文切换什么是进程和线程进程:程序运行资源分配的最小单位,进程内部有多个线程,会共享这个进程的资源线程:CPU调度的最小单位,必须依赖进程而存在。澄清并行和并发并行:同一时刻,可以同时处理事情的能力并发:与单位时间相关,在单位时间内可以处理...
2019-04-08 21:03:04 192
翻译 MyBatis高级
1. 安装MyBatis 源码包MyBatis 源码下载地址:https://github.com/mybatis/mybatis-3MyBatis源码导入过程:下载MyBatis的源码检查maven的版本,必须是3.25以上,建议使用maven的最新版本mybatis的工程是maven工程,在开发工具中导入,工程必须使用jdk1.8以上版本;把mybatis源码的pom文件中true...
2019-04-06 20:40:46 166
翻译 Mybatis-Spring集成
##1. Spring 集成mybatis 优点Mybatis-spring 用于帮助你将 MyBatis 代码无缝地整合到 Spring 中。Spring 将会加载必要的 MyBatis 工厂类和 session 类提供一个简单的方式来注入 MyBatis 数据映射器和 SqlSession 到业务层的 bean 中。方便集成spring事务翻译 MyBatis 的异常到 Spring...
2019-04-06 16:21:41 176
翻译 Mybatis 缓存
1. 一级缓存MyBatis 包含一个非常强大的查询缓存特性,使用缓存可以使应用更快地获取数据,避免频繁的数据库交互 ;一级缓存 (也叫应用缓存):一级缓存默认会启用,想要关闭一级缓存可以在select标签上配置flushCache=“true”;一级缓存存在于 SqlSession 的生命周期中,在同一个 SqlSession 中查询时, MyBatis 会把执行的方法和参数通过算法生成...
2019-04-06 16:10:36 181
翻译 Mybatis进阶- 关联查询
1. 概念在关系型数据库中,我们经常要处理一对一 、 一对多的关系 。 例如, 一辆汽车需要有一个引擎,这是一对一的关系。 一辆汽车有 4 个或更多个轮子,这是一对多的关系 。关联元素就是专门用来处理关联关系的;关联元素association 一对一关系collection 一对多关系discriminator 鉴别器映射关联方式嵌套结果:使用嵌套结果映射...
2019-04-06 15:29:23 292
翻译 Mybatis 概述与进阶
传统的jdbc 连接数据库1.1 导入sql 相关的包1.2 注册Mysql 驱动(com.mysql.jdbc.Driver)1.3 获得一个数据库连接1.4 创建一个sql 语句1.5 从resultset 中获取数据库数据并装成bean1.6 关闭连接缺点: 工作量大, 业务代码和技术代码耦合, 连接资源手动关闭, 带来了隐患ORM:(Object Relational ...
2019-04-05 22:14:52 268
翻译 SpringBoot快速入门
SpringBoot快速入门可以继承spring-boot-starter-parent项目来获取合适的默认设置。想配置你的项目继承spring-boot-starter-parent只需要简单地设置parent为: <parent> <groupId>org.springframework.boot</groupId>...
2019-03-23 14:39:42 183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人