- 博客(24)
- 收藏
- 关注
原创 git常用命令
-- 本地分支切换git checkout dev --覆盖某个本地文件1.进入该文件目录2.查看该文件提交记录git log -5 filename -- ”-5“ 显示提交记录个数git checkout 提交记录编码 filename
2021-08-02 16:54:25
121
转载 mysql安装配置
免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,在 Web应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。 在本博文里,我主要以Mysql免安装版为例,帮助大家解决安装与配置mysql的步骤。 首先:要先进入mysql官网里(Mys
2021-07-29 10:34:23
131
原创 spring依赖注入
spring以依赖注入的方式创建的对象都是由spring统一管理的,它们需要用Autowired,Component或Service等注解来标注(包括调用了注入对象的类即只要出现注解的类本身也需要用注解标识),最外层(调用了注入对象的类)不能被new出来,只能通过SpringContextHolder.getBean(“autoExternalDataAction”)的方法创建对象,不然会报错。如果最外层类未被注解标识,则它所依赖的被注入的对象将创建不出来,进而报空指针。...
2021-05-19 11:03:34
96
原创 synchronized对象锁和类锁的区别
为什么使用synchronized在多线程中如果多个线程同时访问某一资源,会造成不可预计的结果。关键字synchronized可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块。synchronized什么时候是对象锁:当synchronized作用在非静态的方法时是对象锁synchronized public void getName(){}1.对象锁的特征:1.同个对象在多个线程中去调用synchronized作用的代码块,方法时需要获取对象锁。一个对象的对象锁是唯一的
2021-05-19 10:32:41
3753
3
原创 线程
iterrupt方法:如果线程处于阻塞状态(调用wait,sleep,join方法)时,会抛出interruptedException异常并提前结束线程。Wait是使线程处于阻塞状态,当调用notify或notifyAll方法时才将线程调整为运行状态。这三个方法都只能在同步方法或同步代码块中执行。wait方法有个重载方法wait(long time)方法,如果到了预计时间还未被唤醒,线程将继续执行(如果主线程运行时间小于wait方法线程运行时间,则该线程将没有机会执行wait之后的逻辑)...
2021-05-18 10:56:09
64
原创 java面向对象设计模式中类与类之间的关系
Java类之间的关系图 在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。 1、依赖(Dependence) 依赖关系的定义为:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。定义比较晦涩难懂,但在java中的表现还是比较直观的:类A当中使用了类B,其中类B是作为类A的方法参数、方法中的局部变量、或...
2021-05-18 09:35:18
635
原创 java六大原则
一、单一职责原则 总结来讲就是类、方法、成员变量只负责一项职责。二、里氏替换原则 里氏替换原则主要责任是定义了在类之间的继承时的规则,即: 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。 子类中可以增加自己的特有的方法。 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。 最终达...
2021-05-16 12:26:17
1609
原创 java 面试题
1.mybatis使用@param("xxx")注解传参和不使用的区别区别是:使用注解可以不用加parameterType2.mybatis二级缓存配置二级缓存后,程序首先会从二级缓存中取数据,如果没有命中数据则会去查询一级缓存,如果再未命中则会去本地库查询数据。二级缓存查询地址和存储地址是不一致的,其原因是提交事务的必要。sqlSession.commit()这个方法了就是把之前存放在TransactionCache中的数据提交到二级缓存中,然后清空该数据。当第一次从数据库中查出数据后,会放到
2021-05-14 11:03:38
74
原创 简述Redis的过期策略和内存淘汰机制
过期策略我们set key的时候,都可以给一个expire time,就是过期时间,可以指定缓存到期就失效。redisTemplate.expire(KEY, redis_time , TimeUnit.SECONDS);1问题思考如果假设你设置一个一批key只能存活1个小时,那么接下来1小时后,redis是怎么对这批key进行删除的?答案是:定期删除+惰性删除·定期删除,指的是redis默认是每隔100ms就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除。注意
2021-05-13 18:55:43
589
转载 Java:线程常用方法
join方法join方法:执行该方法的线程进入阻塞状态,直到调用该方法的线程结束后再由阻塞转为就绪状态。注:当循环执行到i为2时该行代码执行,CounterThread所创建线程进入阻塞状态,直到timeThread变量所对应线程结束, CounterThread所创建线程才能再次进入就绪状态,进而进入执行状态。注意:线程对象在调用join方法前必须先调...
2019-10-23 17:18:34
220
转载 java线程基础知识总结
java线程基础知识总结什么是线程线程的简单使用线程中断线程状态线程属性线程同步ReentrantLock类条件锁注意synchronized关键字同步阻塞volatile关键字线程局部变量stop 和suspend方法被弃用原因阻塞队列Callable、Future和FutureTask执行器ThreadPoolExecutor什么是线程一个程序同时执行多个任务,通常每个任务称为一个线程。...
2019-10-23 16:49:50
164
转载 java垃圾回收
与C/C++相比,java语言不需要程序员直接控制内存回收,java程序的内存分配和回收都是由JRE在后台自动进行,JRE会负责回收那些不再使用的内存,这种机制被称为垃圾回收机制(Garbage Collection,GC):一、主要负责两件事情:1.发现无用的对象;2.回收被无用对象占用的内存空间,使之再次被程序使用(一般是在CPU空闲或者内存不足时)。注:事实上,除了释放没用对...
2019-10-23 16:27:20
213
转载 Java虚拟机知识点整理(内存模型及性能优化)
一、JVM内存模型首先介绍下Java程序具体执行的过程:Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀); 由JVM中的类加载器加载各个类的字节码文件,加载完毕之后,交由JVM执行引擎执行; 在整个程序执行过程中,JVM会用一段空间来存储程序执行期间需要用到的数据和相关信息,这段空间一般被称作为Runtime Data Area(运行时数据区),...
2019-10-23 15:42:29
218
转载 java 线程池梳理
一、什么是线程池:线程池是 在一个多线程应用池的程序中创建一个线程集合,然后再执行新任务的时候可以重用这些线程而不是重新开启一个线程(提高线程复用,降低性能开销)。线程中线程的数量通常完全取决内存大小和应用程序的需求。线程池的每个线程都有分配任务,一旦任务完成了,就回到池子里等待下一次的分配任务。二、为什么要使用线程池: (线程复用) 重用线程池中的线程,减少因对象创建,销毁所带...
2019-10-23 14:44:39
241
转载 springboot创建子模块
1 多模块项目创建因为本系列的下一篇是《Spring Boot集成Dubbo》,所以本章就以创建多模块的dubbo项目作为示例。示例中的开发环境是Win 7,编辑器是Intellij IDEA,Java版本是1.8。1.1 父模块创建首先我们在IDEA中创建一个spring boot工程作为父项目。一、在界面左上角选择File->New->Pro...
2019-05-17 18:20:50
22085
3
转载 git使用
一. 拉取远程分支代码步骤:1、新建一个空文件,文件名为hhhh2、初始化 git init3、自己要与origin master建立连接(下划线为远程仓库链接)git remote add origin git@github.com:XXXX/nothing2.git远程仓库链接在github这里,如下图红色框内所示的链接:输入命令:4、...
2019-05-17 16:29:13
240
转载 sqlyog过期
开始-运行-regedit ,进入注册表,在\HEYK_CURRENT_USER\Software\{FCE28CE8-D8CE-4637-9BC7-93E4C0D407FA}下的InD保存着SQLyog的使用天数,十进制值2455140~2455131表示30~1天,该区间外的数值应该均为0天,所以每次可以更改该数值便可一直试用。删除该项,在重启SQLyog后注册表中会重新生成,使用期为3...
2019-05-17 15:37:45
619
原创 vue路由嵌套
一. 模板嵌套DashboardLayout.vue(父级路由节点)包含TopNavbar.vue , ContentFooter.vue , Content.vue , MobileMenu.vue四个模板,其中Content.vue模板中有路由节点<router-view></router-view>。DashboardLayout.vue包含以下四个模板。...
2019-05-16 17:47:28
275
原创 vue跨域请求配置(axios的使用) —— vue-cli3
一. vue-cli3代理配置。进入vue.config.js配置文件,在module.exports在加入1.请求代理过程说明: 例:http://localhost:8086/api(1)遇见api开始跨域操作。(2)将原域名改为指定url http://localhost:8086/api —》http://localhost:8085/vue/api ...
2019-05-16 11:46:31
1240
转载 vue运行环境搭建及使用webstorm运行项目
Vue.js是一套构建用户界面的 “渐进式框架”。 Vue 采用自底向上增量开发的设计。 Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。2016年,Vue同Angular、React形成三足鼎立的局面,让前端的开发者顾不暇接,今天我们就来了解一下Vue的环境搭建。一、node.js安装Vue项目通常通过webpack工具来构建,而web...
2019-05-14 19:36:18
12932
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人