- 博客(34)
- 收藏
- 关注
原创 mysql增加外键的方法
mysql添加外键方法1:创建表的时候添加CREATE TABLE review ( id int(11) NOT NULL AUTO_INCREMENT, content varchar(4000) DEFAULT NULL, uid int(11) DEFAULT NULL, pid int(11) DEFAULT NULL, createDate datetime DEFAULT NULL, PRIMARY KEY (id), CONSTRAINT fk_review
2020-06-01 09:33:22
196
原创 jvm遗漏
GCroot有哪些(1)虚拟机(JVM)栈中引用对象(2)方法区中的类静态属性引用对象(3)方法区中常量引用的对象(final 的常量值)(4)本地方法栈JNI的引用对象方法区方法区和堆一样,是各个线程共享的内存区域,用于存储已被虚拟机加载的类信息,常亮,静态变量。虚拟机栈虚拟机栈也是线程私有的,生命周期和线程相同。虚拟机栈是由一个一个栈帧组成的:局部变量表,操作数栈,动态链接,方法出口局部变量表:各种数据类型,对象引用本地方法栈虚拟机栈为虚拟机执行java方法(也就是字节码)服务,
2020-05-23 15:47:35
123
原创 线程池
1.线程池的主要参数 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runna
2020-05-22 17:20:34
131
原创 GC问题
触发新生代GC,如果存活对象总量大于survivor区容量,咋办youngGC:年轻代eden区或者Survivor满了会触发youngGColdGC:老年代old区满了会触发oldGCFullGC:老年代可用空间小于新生代存活对象所占空间,如果没有开启空间担保参数会直接触发Full GC老年代可用空间小于新生代平均进入老年代的大小,会提前触发Full GC新生代Young GC后存活对象大于Survivor直接进入老年代,老年代内存不足直接触发Full GC1.GC一般分为young GC和F
2020-05-21 17:12:42
876
原创 spring基础(四)——注解
2.用于注入数据的作用相当于在bean.xml文件中的bean标签内部的Autowired:作用:自动按照类型注入。只要容器中有位移的一个bean对象类型和要注入的变量类型匹配,就可以注入成功,如果ioc容器中没有任何bean的类型和要注入的变量类型匹配,则会报错如果ioc容器中有多个类型匹配时,会选择beanid与他的属性名相同的一个 出现位置:可以使变量上,也可以是方法上 细节:在使用注解注入时,set方法可以不写Qualifier作用:在按照勒种注入的基础之上再按照名称注入。它再给
2020-05-20 15:27:40
116
原创 Spring基础(二)-bean对象的细节
<!-- bean的作用范围调整 scope属性:用于指定bean的作用范围 取值:singleton:单例的(默认值) prototype:多例的 request:作用于web应用的请求范围 session:作用于web应用的会话范围 global-session:作用于集群环境的会话范围(全局会
2020-05-14 18:25:29
117
原创 Spring基础(一)-对象的创建
bean对象的创建1.使用默认的构造方式 <bean id="accountService" class="itheima.service.impl.AccountServiceImpl"></bean>2.
2020-05-14 10:23:09
135
原创 Mybatis系列文章(5)-延迟加载
Mybatis系列文章(4)-延迟加载1.引出问题,什么是延迟加载问题:在一对多中,我们的每个用户都有一千个账户那么在查询用户的时候,需要把所有账户查出来吗在查询账户的时候,需要把关联的用户都查出来吗但是这么做太费内存了,我们应该是在使用到账户的时候才会查询这一千个账户而查询账户时,账户所属的用户信息应该随着账户查询时仪器查询2.定义延迟加载:在真正使用数据时才发起查询,不用的时候不查询。按需加载(懒加载)立即查询:无论用不用,只要一调用方法,马上发起查询一般而言:一对多,多对多都是懒加
2020-05-10 14:30:17
123
原创 Mybatis系列文章(4)-多表查询,多对多b
Mybatis系列文章(4)-多表查询,多对多b1.说明多对多的关系实例用户和角色一个用户可以有多个角色一个角色可以赋予多个用户2.步骤1.建立两张表:用户表,校色表让用户表和校色表具有多对多的关系。需要使用中间表,中间表中包含各自的主键,在中间表中是外键2.建立两个实体类,用户实体类和角色实体类让用户和角色的实体类能体现出多对多的关系即各自包含对方一个集合引用3.建立两个配置文件用户的配置文件账户的配置文件4.实现配置查询用户时,可以得到用户所包含的角色信息当查询角色是,
2020-05-09 14:14:00
136
原创 连Serializable都不知道是什么,你这5年都干些什么了?
一般情况下,我们在定义实体类时会继承Serializable接口1.什么是serializable接口它是一个对象序列化的接口,一个类只有实现了serializable接口,它的对象才能被序列化什么是序列化序列化是将对象状态转换为可保持或传输的格式的过程,相对的,有反序列化,它将流转换为对象。这两个过程集合起来,就可以轻松的存储和传输数据为什么要序列化对象将对象转化为字节序列以方便传输和存储什么情况需要序列化当我们需要把对象的状态信息通过网络进行传输,或者需要将对象的状态信息持久化,以便将来
2020-05-08 20:34:34
94
原创 Mybatis系列文章(4)-多表查询,多对多
<resultMap id="userAccountMap" type="user"> <id property="id" column="id"></id> <result property="username" column="username"></result> <re...
2020-05-07 16:57:57
92
原创 Mybatis系列文章(4)-多表查询,一对多b
Mybatis系列文章(4)-多表查询,一对多b上一篇文章,我们实现了一个子类,来得到最后结果这一次我们直接在表中体现表与表的关系 <resultMap id="accountuser" type="Account"> <id property="id" column="aid"></id> <result pr...
2020-05-07 16:37:33
114
原创 Mybatis系列文章(4)-多表查询,一对多
Mybatis系列文章(4)-多表查询1.实例用户和账户一个用户可以有多个账户一个账户只能属于一个用户(多个账户也可以属于同一个用户)2.步骤1.建立两张表:用户表,账户表让用户表和账户表之间具备一对多的关系,需要使用外键,在账户表中添加2.建立两个实体类:用户实体类和账户实体类让用户和账户的实体类能体现出一对多的关系3.建立两个配置文件用户和账户的配置文件4.实现配置:...
2020-05-07 10:11:43
124
原创 Mybatis系列文章(3)-动态SQL语句
Mybatis系列文章(3)Mybatis动态SQL语句1.if很多时候我们不知道会给什么样的条件进行查询,所以这里我们可以用if语句来进行查询操作 <select id="finduserByCondition" parameterType="com.itheima.domain.User" resultMap="userMap"> select * ...
2020-04-30 17:11:24
111
原创 Mybatis系列文章(2)-基本语法
Mybatis系列文章(2)一.基本语法操作1.模糊查询sql语句:select * from user where username like username在IUserDao.xml中的语句: <select id="findbyName" parameterType="java.lang.String" resultType="com.itheima.domain....
2020-04-30 10:51:24
147
原创 Mybatis系列文章(1)
Mybatis系列文章(1)一:Mybatis主要做的工作1 应用程序找Mybatis要数据(若这个类为Category)2. mybatis从数据库中找来数据2.1 通过mybatis-config.xml 定位哪个数据库2.2 通过Category.xml执行对应的select语句2.3 基于Category.xml把返回的数据库记录封装在Category对象中2.4 把多个Ca...
2020-04-29 22:34:30
166
原创 一键生成惊雷等喊麦歌词
/** * 思路写一下 * 1.给一长篇的小说,利用正则表达式将小说分为无数的字符串 * 2.将从后到前字符串切割,最长为n,否则一句话太长 * 3.并且将每一个字符串的末尾音节提取出来,普通的韵脚音的话放在一个字符数组里面 * 3.增加一个hashmap表,添加平时用的韵脚 * 4.将符合hashmap的韵脚放在字典里 * 5.规定歌词的格式,比如**,*****,随机从字典取出字...
2020-04-22 19:10:04
2123
原创 正则表达式的基本用法
正则表达式的基本用法1.正则表达式的作用:主要解决字符串的匹配、拆分、替换的问题而出现的方法2.常用正则标记,略这个随便百度可以查到这里重点讲一下逻辑有正则表达式A,B,则:"AB"为验证A过后继续验证B"A|B"为验证A或者B,符合一个就可以了"(ABCDDS)"括号为把多个正则表达式放在一起作为一组3....
2020-04-22 19:09:02
113
原创 leetcode 33:搜索旋转排序数组,二分法
leetcode 33:搜索旋转排序数组,二分法1.题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:...
2020-04-21 08:54:38
135
原创 leetcode24:两两交换链表中的节点
leetcode24:两两交换链表中的节点1.题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.2.思考:其实这道题有两种方式,递归和迭代这里只介绍迭代,因为实在是没必要递归思路:新增两个节点,进行互...
2020-04-18 19:37:16
120
原创 leetcode19 删除链表倒数节点,双指针,中间差为n
1.双指针,指针A先移动n次, 指针B再开始移动。当A到达null的时候, 指针b的位置正好是倒数n我们可以设想假设设定了双指针p和q的话,当q指向末尾的NULL,p与q之间相隔的元素个数为n时,那么删除掉p的下一个指针就完成了要求。设置虚拟节点dummyHead指向head设定双指针p和q,初始都指向虚拟节点dummyHead移动q,直到p与q之间相隔的元素个数为n同时移动p与q,直到...
2020-04-17 11:34:09
79
原创 leetcode17. 电话号码的字母组合,回溯法,穷举法
1.方法:回溯是一种通过穷举所有可能情况来找到所有解的算法。如果一个候选解最后被发现并不是可行解,回溯算法会舍弃它,并在前面的一些步骤做出一些修改,并重新尝试找到可行解。给出如下回溯函数 backtrack(combination, next_digits) ,它将一个目前已经产生的组合 combination 和接下来准备要输入的数字 next_digits 作为参数。如果没有更多的数字需要...
2020-04-17 10:45:00
445
原创 leetcode3.无重复字符的最长子串,无重复,子串
leetcode3.无重复字符的最长子串,无重复,子串知识点:双指针,hashset,hashmap1.题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所...
2020-04-16 11:17:35
100
原创 leetcode2:两数相加(链表,两数和)
leetcode2:两数相加(链表,两数和)知识点:链表的考察1.题目描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) +...
2020-04-15 17:14:23
201
原创 leetcode316. 去除重复字母,字符串去重,最小字典序
leetcode316. 去除重复字母,字符串去重,最小字典序题目描述:给你一个仅包含小写字母的字符串,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例 1:输入: “bcabc”输出: “abc”示例 2:输入: “cbacdcbc”输出: “acdb”1.知识点:数据结构:重复与去重就应该想到hashset...
2020-04-15 11:16:28
3899
原创 leetcode26. 删除排序数组中的重复项
知识点:双指针,数组,不能使用额外空间1.题目描述给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需...
2020-04-14 11:18:59
89
原创 leetcode20. 有效的括号
1.题目描述给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输...
2020-04-14 10:54:44
73
原创 java中的位集BitSet
java中的位集BitSet位集存放一个位序列,比boolean的ArrayList更加高效这是java核心技术卷1对BitSet的定义就是这么简单的啦
2020-04-11 20:34:49
142
原创 mybatis框架导入依赖包dependency基本配置及配置错误情况应如何解决
mybatis框架导入依赖包dependency基本配置及配置错误情况应如何解决首先分别倒入依赖(dependences):mysql,mybatis,log4j,junit其中,log4j和junit可以不用导入,只是为了之后的配置用导入步骤:1.在pox.xml页面导入如下代码所示配置<packaging>jar</packaging> <de...
2020-04-11 14:30:52
5519
1
原创 hashtable和hashMap的区别,vector与Arraylist
hashtable和hashMap的区别,vector与Arraylist其中,hashtable和vector是线程同步的,耗费内存和效率hashmap与arraylist是非同步的,效率较高根据这两个特性选择合适的集合框架吧...
2020-04-11 09:23:44
123
原创 collections类的同步方法,线程安全
collections类的同步方法,线程安全如果多个线程访问程序中的list或者Map对象,那么可能会造成严重的安全问题这个时候我们需要使用同步机制来对Collections对象进行同步书中提到使用Collections . synchronizedMap()方法则可以对对象进行同步,定义后则是线程安全了...
2020-04-11 08:28:52
497
原创 java中子范围,subrange:subList,subSet,subMap方法
#子范围,subrange:subList,subSet,subMap方法实例代码 List<Integer> lt=new ArrayList<>(); lt.add(123); lt.add(234); lt.add(345); lt.add(4556); lt.add(435);...
2020-04-11 08:20:20
410
原创 java中aslist总结
#java中aslist总结可以看到在书中对这个知识点说的十分模糊。我们来看代码就懂了#1在这里插入代码片 String a[]={"123","234","345"}; List<String> list1= Arrays.asList(a); for (String s:list1) { ...
2020-04-10 23:16:45
135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人