- 博客(53)
- 收藏
- 关注
原创 Mybatis源码分析
MyBatis 简介MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码
2020-08-06 09:31:58 193
原创 Javaweb0802作业
<servlet> <servlet-name>Main</servlet-name> <servlet-class>fir.Main</servlet-class> </servlet> <servlet-mapping> <servlet-name>Main</servlet-name> <url-pattern>/Main.do</url-pattern> </servlet-mapping>
2020-08-05 16:38:01 261
原创 使用mybatis-generator来生成代码
mybatis-generator作用能够生成PO类,能生成mapper映射文件(其中包括基本的增删改查功能)、能生成mapper接口。配置环境变量1、新建一个文件夹,例如: E:\generator (这里的路径不要带有中文字符)2、在 generator 这路径下放置 mybatis-generator-core-1.3.2.jar; 放置mysql-connector-java-5.1.16-bin.jar; 放置 generatorConfig.xml; 新建一个空文件夹..
2020-07-30 22:59:08 246
原创 在IDEA和MyEclipse搭建Maven项目
Maven的下载及配置1.Maven下载地址:http://maven.apache.org/download.cgi2.配置环境变量:(1)在系统变量中新增MAVEN_HOME 值设置为 Maven的根目(2)在Path变量中加入Maven的bin目录(3)测试,在cmd中运行mvn -v 若得到下面的结果,则说明配置正确3.settings.xml的配置(文件位于conf文件下)(1)在settings.xml文件中的mirrors下添加mirror标签;
2020-07-30 17:52:16 166
原创 行级锁 表级锁 乐观锁 悲观锁
目录行级锁表级锁悲观锁乐观锁总结:行级锁行级锁,一般是指排它锁,即被锁定行不可进行修改,删除,只可以被其他会话select。行级锁之前需要先加表结构共享锁。row-level loking,锁住一行记录。 开销大,加锁慢,会死锁。 锁粒度小,发生所冲突概率小,并发效率高;适合并发写,事务控制。 并不是直接丢记录行加锁,而是对行对应的索引加锁:如果sql 语句操作了主键索引,Mysql 就会锁定这条主键索引。 如果sql语句操作了非主键索引,MySQL会先锁定该非主
2020-07-22 17:19:19 546
原创 SQL查询语句关键字的执行顺序
目录关键字SQL查询语句关键字的执行顺序总结关键字SELECT 列名,此时可以为列名起别名,列名之间用逗号隔开FROM from子句返回初始结果集WHERE 记录筛选条件,子句排除不满足搜索条件的行GROUP BY 分组字段列表,子句将选定的行收集到group by子句中各个唯一值的组中HAVING 分组筛选条件,子句排除不满足搜索条件的...
2020-07-18 21:53:21 356
原创 抽象类为什么不能创建对象?
目录抽象类比较区别创建对象抽象类在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类往往用来表征对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。比如,在一个图形编辑软件的分析设计过程中,就会发现问题领域存在着圆、三角形这样一些具体概念,它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问题领域并不是.
2020-07-18 21:37:02 6191
原创 mysql安装
答主安装的不是最新版本,是5.5版本的安装1.打开设这个界面,选择自定义Custom或者典型Typical,见图a2.安装组件信息,最下面可以修改路径见图b。 图a 图b3.服务器软件目录,见图c4.数据目录,见图d...
2020-07-05 21:45:55 153
原创 java中Integer类的常用方法
文字描述不清楚,我们还是直接看代码:public class IntegerTest { public static void main(String[] args) { Integer i = new Integer('Q'); Integer i1=new Integer('c'); /* * toString()返回的是一个字符串, * 并且该toStrin...
2020-03-27 11:36:57 1068
原创 java中关于StringBuilder类中的函数
StringBuild的本质也是一个数组。但是该数组是一个动态可扩容的数组。 具体详见代码:public class StringBuildertest { /** * StringBuild的本质也是一个数组 * 但是该数组是一个动态可扩容的数组 * @param args */ public static void main(String[] args)...
2020-03-27 11:22:52 370
原创 抽象类、多态
抽象类所谓抽象,就是模糊不清的,那么抽象类就是模糊不清的类、不具体的类。当我们在抽取一个父类的时候,发现子类当中的一些共同方法在父类中无法实现,并且这些方法只能在子类中具体实现时,父类当中这些函数就只保留函数的声明即可,不必写函数体。那么此时这个函数就是抽象函数!有抽象函数就有抽象类!特点: 1.抽象类能否创建对象?不能 对象本身是一个具体的东西 而抽象类中含有不具体的内容2...
2020-03-27 10:58:14 198
原创 习题总结007
1.定义了一维 int 型数组 a[10] 后,下面错误的引用是( C )A.a[0] = 1;B.a[0] = 5*2;C.a[10] = 2;D.a[1] = a[2] * a[0];解析:数组的角标是从0开始的,一维数组中一共10个元素,所以最后一个元素的角标应该是9。2.一维数组与线性表的区别是( A )。A.前者长度固定,后者长度可变B.后者...
2020-03-27 10:42:50 1520
原创 7. 整数反转
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。解析:这道题其实很简单,就是对数字进行循环取余,唯一值得注意的是:数字的取值范围需要进行判断。具体详见代码class Solution { p...
2020-03-26 18:35:21 123
原创 继承
目录继承继承1. 继承的由来:当我们在定义若干个类的时候,发现某一些类中具有相同的属性和行为,那么我们就可以将这些相同的部分进行抽取,独立生成另外一个类,那么这个生成的类称之为父类,其他的被抽取内容的类称为子类。子类与父类之间就是所谓的继承关系,用extends表示...
2020-03-15 18:51:18 124
原创 1013. 将数组分成和相等的三个部分
给定一个整数数组 A,只有我们可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。形式上,如果我们可以找出索引 i+1 < j 且满足 (A[0] + A[1] + ... + A[i] == A[i+1] + A[i+2] + ... + A[j-1] == A[j] + A[j-1] + ... + A[A.length - 1]) 就可以将数组三等分。...
2020-03-15 00:01:38 112
原创 静态变量与成员变量的区别、代码块、单列模式
静态变量与成员变量的区别:1、两个变量的生命周期不同成员变量随着对象的创建而存在,随着对象被回收而释放。静态变量随着类的加载而存在,随着类的消失而消失。2、调用方式不同成员变量只能被对象调用。静态变量可以被对象调用,还可以被类名调用。3、别名不同成员变量也称为实例变量。静态变量也称为类变量。4、数据存储位置不同成员变量存储在堆内存的对象中,所以也叫对象的特有数据。静态...
2020-03-15 00:00:26 216
原创 static关键字、类的分类、对象的内存图解
目录static关键字类的分类对象的内存图解static关键字成员变量+static=静态变量 主要是解决成员变量重复的问题class Chinese{ static int momo; static boolean kaka; String name; String age; static String c...
2020-03-14 23:01:13 159
原创 1295. 统计位数为偶数的数字
题目:给你一个整数数组nums,请你返回其中位数为偶数的数字的个数。解析:有三种方法:第一种------已知范围为1 <= nums[i] <= 10^5,所以只有两个区间内的数为偶数位10~99以及1000~9999public int findNumbers(int[] nums) { int count=0; for(int i=0...
2020-03-14 19:56:26 458
原创 1365. 有多少小于当前数字的数字
题目:给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个 nums[i] 你必须计算出有效的 j 的数量,其中 j 满足 j != i 且 nums[j] < nums[i] 。以数组形式返回答案。解析:根据题目要求,我们可以定义两个指针 i 和 j ,比较大小,用 j 去循环 i 后面的每一个数字。...
2020-03-14 19:30:11 140
原创 习题总结006
1.矩阵中的数据元素可以是不同的数据类型 ,这样的说法正确吗? (A)A.正确B.错误解析:这道题我做错了,所以看了下面的解析:如果是union结构体的数组就可以存储不同类型,但是所学知识有限,现在还不能理解!2.C#程序段的结果: int[][] array = new int[3][]{ new int[3]{5,6,2}, new int[5]{6,9,7,8,3}...
2020-03-14 18:45:02 689
原创 习题总结005
1.线性表的长度是线性表所占用的存储空间的大小。 (B)A.TB.F解析:线性表长度的定义是它所包含的元素的个数。元素的类型决定了元素所占用存储空间的大小,但元素的个数不等价于元素的类型。2.稀疏矩阵一般采用三元组顺序表方法压缩存储 。 (A)A.正确B.错误解析:稀疏矩阵是非零元素极少的矩阵。 有两种压缩存储方式,三元组和十字链表,两者各有适用环境。 ...
2020-03-14 18:20:37 1951
原创 简易的吃鸡小游戏
学习了面向对象,练习一个简易的吃鸡小游戏,仅仅只有双方射击的过程……我们具体的分析如下:玩家 Player姓名 String name 血量 int blood 枪械 Gun gun 持枪 void holdGun(Gun gun) 开枪 void shootEnemy(Player enemy) 如果没枪械则提示 装弹夹 void loadClip(Clip clip)...
2020-03-14 16:04:07 817
原创 习题总结004
1.设一个顺序有序表A[1:14]中有14个元素,则采用二分法查找元素A[4]的过程中比较元素的顺序为( C )。A.A[1],A[2],A[3],A[4]B.A[1],A[14],A[7],A[4]C.A[7],A[3],A[5],A[4]D.A[7],A[5] ,A[3],A[4]解析:(1+14)/ 2 = 7 --> 1 ~ 6(1+6)/ 2 ...
2020-03-01 14:34:32 1018
原创 习题总结003
1. 下列有关图的遍历说法中,不正确的是( C )A.有向图和无向图都可以进行遍历操作B.基本遍历算法两种:深度遍历和广度遍历C.图的遍历必须用递归实现D.图的遍历算法可以执行在有回路的图中解析:其实所有的递归都可以变成非递归,通过使用栈来实现。因为栈可以模拟递归的过程,最开始的操作和状态压到栈,然后紧接的递归调用一个一个地压进去,然后遇到return就返回,相当于是从堆栈弹出...
2020-02-28 19:59:47 2146
原创 面向对象之基础知识
一、面向过程与面向对象什么是面向过程、面向对象?它们都是解决问题的思路,大致的方向我们回家要吃饭,重点是饭从何而来-------去食堂 叫外卖 下馆子 让家里人做 自己做 那么如果我们自己做的话 怎么弄? main(){ ....依次调用函数 } 买菜(){买菜的流程} 洗菜(){洗菜的流程} 切菜(){切菜的流程}...
2020-02-26 15:29:21 313
原创 724. 寻找数组的中心索引 905. 按奇偶排序数组
724. 给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出: 3解释:索引3...
2020-02-23 19:42:40 135
原创 283. 移动零 674.最长连续递增序列
283. 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。解析:我们可以通过for循环,判断该数字是不是0,但是记住要保持非零元素的相对顺序。class Solution {...
2020-02-23 19:25:51 95
原创 209. 长度最小的子数组
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n log n) 时间复杂...
2020-02-23 18:29:55 195
原创 169. 多数元素
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2分析:解法一:我们可以先排序,然后输出在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。class Solu...
2020-02-23 17:56:38 267
原创 66. 给数组的数字加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。...
2020-02-23 17:22:29 1437
原创 1313. 解压缩编码列表
给你一个以行程长度编码压缩的整数列表 nums 。考虑每对相邻的两个元素 [a, b] = [nums[2*i], nums[2*i+1]] (其中 i >= 0 ),每一对都表示解压后有 a 个值为 b 的元素。请你返回解压后的列表。示例:输入:nums = [1,2,3,4]输出:[2,4,4,4]解释:第一对 [1,2] 代表着 2 的出现频次为 1,所以生成数组 ...
2020-02-23 16:35:59 184
原创 二维数组及相关习题
所谓二维数组,就是一个由行和列组成的一个表格而已,矩阵Matrix。我们在这个矩阵中访问元素的话,是根据元素的行角标和列角标所确定的。那二维数组具体是在内存中如何存储的呢? 无论是二维数组,还是多维数组,它们本身就是一个一维数组 尤其对于二维数组而言,无非就是一个一维数组,只不过该一维数组中的每一个元素是另一个一维数组罢了!用图来具体解释一下 :如何创...
2020-02-23 16:05:24 610
原创 八皇后例题分析
八皇后游戏规则:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 注意:同一个位置不能放两个游戏思路:先做一份上一个情况的备份 遍历当前行找到所有可能的解 判断当前位置是否可以放皇后 如果可以则继续往下一行去寻找 如果不行则继续判断一下个位置 在赋值皇后之前先当前行清空 4....
2020-02-23 16:04:25 180
原创 88.合并两个有序数组 26. 删除排序数组中的重复项
第一题给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,...
2020-02-23 15:45:03 492
原创 习题总结002
1.已知int a[3][4];则下列能表示a[1][2]元素值的是(A)A.*(*(a+1)+2)B.* ( a + 1 + 2 )C.( & a [ 0 ] + 1 ) [ 2 ]D. * ( a [ 0 ] + 1 )解析:*(a+1)表示第二行的首地址,和a[1]一样。*(a+1)+2第二行第三个数字的地址。*(*(a+1)+2)就是第二行第三个数字的值。也...
2020-02-23 10:55:36 1823
原创 习题总结001
1.矩阵不仅是表示多维数组,而且是表示图的重要工具,这样的说法正确吗?A.正确 B.不正确解析:图的表示方法有邻接矩阵和邻接表。2.设有一个二维数组A[m][n],假设A[0][0]存放位置在 644,A[2][2]存放位置在676,每个元素占一个空间,问A[3][3]存放的位置在(C)。A.688 B.678 ...
2020-02-21 22:18:06 1474 1
原创 益智游戏------五子棋
说到五子棋,想必大家都不陌生,有些人还是高手,那有没有想过现在电子版的五子棋的代码是怎样写出来的呢?那我们今天就来看看我们平常玩的五子棋怎样用Java实现?目前我们的程序是控制台程序,不能说是用点击的方式进行下棋,所以落子我们一律用坐标表示。规则就是:黑白棋,谁先连成5个子,谁就赢!首先,我们先出创建一个String的二维数组表示棋盘,大小为15x15,用“+”来表示格子,为了更直观...
2020-02-21 21:14:32 292
原创 函数传参
函数传参一直是一个比较重要的点,今天我就详细解释一下。最重要的一点:实参-->形参,传的永远是地址基本数据类型传参------传的是常量在常量池中的地址 引用数据类型传参------传的是对象在堆内存中的地址 基本数据类型和引用数据类型的区别 基本数据类型------原子型数据,就是不可再拆分。基本类型就是直接赋值就可以了,比如: inta=123; boo...
2020-02-21 20:05:26 286
原创 数组习题
第一题分析:问题的难点在于并不知道当前数组要创建多少个,并且需要统计次数 来一个数字加一个数字,那么就需要扩容了。然后填入数据,再进行排序。最后遍历数组依次判断数据的个数 数组的扩容,就是创建一个新的数组,将元素赋值进去,将新数组的地址返回即可 1.读取元素将数据存放到数组中import java.util.Sca...
2020-02-19 19:03:41 222
原创 函数的习题总结(续)
上一次我们说了一些简单的题,今天我们来看一些关于字符串的题。第一题分析:先提示用户输入密码(Stringpassword) 将密码传入boolean isValid(password) 返回值是true,就是合法的;返回值是false,密码不合法 定义isValid()方法长度 isLengthValid() 字符串的长度要大于8 组成 isContentVa...
2020-02-18 17:00:18 117
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人