- 博客(42)
- 收藏
- 关注
原创 Mysql 优化
Mysql 优化什么是索引?索引是一种具有排序和查询的数据结构。怎么查看sql语句的具体信息?explain + sql语句。会得到详细的sql信息,可根据查询出来的信息来优化编写的sql语句。explain中常见列:id:当id相同时:执行顺序是从上到下。当id不同时:id值越大越先执行。当id相同不同时:id值越大越先执行。id相同的从上到下执行。type:索引优化的级别优->差:system > const > eq_ref >
2020-10-04 19:08:19
180
原创 冒泡排序、选择排序、插入排序、希尔排序代码实现
冒泡排序、选择排序、插入排序、希尔排序冒泡排序:排序思想:冒泡排序是两个相邻的数进行比较后然后交换。排序次数是数组的长度-1;时间复杂度o²代码实现public static void bubbleSort(int arr[]){ for (int i = 0; i < arr.length-1; i++) { for (int j = 0; j < arr.length-1-i; j++) { if (arr[j
2020-07-25 23:39:07
294
原创 StringTable的特性
StringTable的特性常量池中的字符串仅是符号,第一次用到时才变为对象 利用串池的机制,来避免重复创建字符串对象字符串变量拼接的原理是StringBuilder (1.8)字符串常量拼接的原理是编译期优化可以使用 intern方法,主动将串池中还没有的字符串对象放入串池1.8 将这个字符串对象尝试放入串池,如果有则并不会放入,如果没有则放入串池, 会把串 池中的对象返回1.6 将这个字符串对象尝试放入串池,如果有则并不会放入,如果没有会把此对象复制一份, 放入串池,会把串池中的对象返回*
2020-06-22 18:11:49
321
转载 centos7 无法启动网络(service network restart)错误解决办法
centos7 无法启动网络(service network restart)错误解决办法: 原博文:http://blog.csdn.net/zkja5954...
2020-06-17 13:51:16
1425
2
转载 centos 7 启动与切换图形界面
安装图形界面默认情况下是不会安装图形界面的,所以需要自己手动安装,步骤如下:开启系统,以root身份进入安装X(X Window System),命令如下: yum groupinstall "X Window System"1...
2020-06-16 22:22:16
337
转载 在doc窗口下启动不了mysql
在DOS窗口、gitbush以及一些可以使用的命令行工具的界面上,输入:net stop mysql、net start mysql时,总是提示:服务名无效。出现提示如下: 原因是:因为net start +服务名,启动的是win下注册的服务。此时,...
2020-05-30 15:42:58
370
原创 SpringBoot的快速入门
SpringBoot用之后的心得我是学了ssm框架才学的springboot,学起来还是挺快的。因为大部分都是基于ssm的,但是我只能说关于springboot真的是用了就回不去了,因为真是太方便了,比ssm省事多了。springboot的快速入门其实有两种入门,我就说比较常见的吧。我用的开发工具是idea,所以我就用idea来演示:首先是:选择需要的东西,打上对勾就可以了。...
2020-05-29 22:28:02
122
原创 mysql中忘记用户密码的解决方案
管理用户添加用户:* 语法:CREATE USER ‘用户名’@‘主机名’ IDENTIFIED BY ‘密码’;2. 删除用户:* 语法:DROP USER ‘用户名’@‘主机名’;3. 修改用户密码: UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名'; UPDATE USER SET PASSWORD = PASSWORD('abc') WHERE USER = 'lisi'; SET PASSWO
2020-05-21 14:23:37
114
原创 JDBC的增删改查
Jdbc的概念JDBC 是 Java 访问数据库的标准规范,真正怎么操作数据库还需要具体的实现类,也就是数据库驱动。每个数据库厂商根据自家数据库的通信格式编写好自己数据库的驱动。所以我们只需要会调用 JDBC 接口中的方法即可,数据库驱动由数据库厂商提供。Jdbc的好处使用Jdbc的来操作数据库,打个比方:我们吃饭可以用筷子吃和用勺子吃,但是我们也可以用手吃对吗? 前者就是我们使用Jdbc的好处,我们可以更高效的来操作数据库。在举个例子就是:我们可以走着去北京,也可以做飞机去北京。那个效率高。结果
2020-05-19 23:35:48
134
原创 数据库中的事务控制及演示
是什么是事务控制?为什么要进行事务控制事务控制是我们在mysql数据库中常用的一种方式。假设我们有一张账户表,张三给李四转500元。需要有两条sql语句的执行。第一条是张三账户减500,第二条sql语句是李四的账户上加500。但是这是理想情况下进行了,是在sql语句正常执行的情况下进行的。但是如果在执行完第一条sql语句中出现了异常,就会导致张三的账户的钱-500,而李四的账户没有+500。这时候就需要事务控制了。SELECT * FROM account;UPDATE account SET ba
2020-05-18 21:10:45
409
原创 数据库中多表之间的关系
数据库中多表之间的关系有三种一对一:如:每个人只有一个身份证号解决:可以在第一张表上建一个外键连接上第二张表的主键上,也可以在第二张表上建一个外键连接上第一张表的主键上。但是这个一般不考虑,因为可以直接在一张表上进行,何必建两张表呢。1对多(或多对一):公司的员工只属于一个部门,但一个部门可以有多个员工解决:在“少”的一方建立主键,在“多”的一方建立一个外键去连接“少”的一方的主键。多对多:一个学生可以选择多门选修课,选修课也可以被多个学生选择解决:因为是多对多的关系,所以要引用第三张表。在第三
2020-05-17 20:38:33
1350
原创 XML约束和解析
XML的约束:首先我们需要明白,xml约束文档是我们程序员大佬开发框架编写的书写规则。但是一般我们程序员只需要会读会编写出来的约束文档。具体请看下面的关系图约束的分类:①DTD:一种简单的约束技术②Schema:一种复杂的约束技术XML的解析:解析的方式:(服务器端)DOM:将编辑语言文档一次性的加载到内存中,在内存形成dom树。优点是:操作方便 有利于增删改查。缺点就是占内存,一般写的解析文档可能在1MB,但是加载到内存中可能是100倍或者是1000倍(移动端)SAX:这种解析方式是逐行
2020-05-14 22:15:27
236
原创 约瑟夫环——单向环形链表问题(小孩出圈问题)
约瑟夫环-单向环形链表问题:设编号为1,2,3,4,5…n的几个人围圈坐一圈,约定编号为k(1<=k<=n)的人开始报数,数到m的那个人出列,他的下一位,又开始从1开始报数,又数着m的那个人出列,以此类推,直到所有人出列为止,由此产生一个出队编号的顺序这个问题我们可以用约瑟夫环(一个单项环形链表来解决)解题思路:先创建一个小孩节点的类写一个单向环形链表来存储节点:显示小孩的编号:小孩出圈的代码:结果演示:整体思路就是这样的 如果有不懂的话 可以私信我 或者加
2020-05-11 23:44:31
354
转载 IO流(BufferedInputStream和BufferOutputStream拷贝)与FileInputStream和FileOutputStream的区别-----Java
IO流(BufferedInputStream和BufferOutputStream拷贝)与FileInputStream和FileOutputStream的区别-----Java ...
2020-05-10 19:18:34
147
原创 网络编程--服务器和客户端之间的代码实现
网络编程的步骤服务器端:首先需要服务器端的启动,在启动客户端先在服务器端创建对象serverSocket,绑定端口号用服务器端创建的对象serverSocket获取输入流,来读取客户端发送的连接请求接着用服务器端创建的serverSocket获取输出流来给客户端发送消息最后关闭资源客户端:创建客户端对象,绑定ip地址和端口号用客户端创建的socket对象来获取输出流,用来给服务器端发送请求用客户端创建的socket对象来获取输出流,用来接收服务器端的消息最后关闭资源代码实现
2020-05-10 18:34:22
631
原创 数据结构---双向链表的增删改查
双向链表的增删改查我们知道单链表的方向只能有一个,但是双向链表是可以从前往后 也可以从后往前的,并且单链表不能自己删除,必须依赖辅助指针才能完成。但是双链表是可以自行进行删除的。因此 一定程度上是比单链表好点的。接下来我就简单地演示一下双链表的增删改查。如果对单链表熟悉的同学,对于双链表是比较容易理解的。如果单链表不是那么熟悉,可以看一下我上一篇的博客,上面记录着单链表的增删改查和几种常用的方法。双向链表的添加和遍历双向链表的修改双向链表的删除...
2020-05-08 21:29:06
231
原创 数据结构——单链表的增删改查
单链表的定义单链表是由节点来组成的,一般分为有头结点的单链表和没有头结点的单链表用数组创建模拟一个单链表先写一个头结点的类,生成get/set方法 toString方法 ,再写一个构造器来初始化成员属性接下来是定义一个单链表来存储结点单链表的无序添加(添加结果是没有排序的)单链表的遍历:单链表的有序添加:单链表的信息更新:删除单链表的节点:...
2020-05-07 14:11:55
309
原创 二维数组转为稀疏数组
二维数组转为稀疏数组在我们定义一个二维数组时,如果数组元素大部分是0的话,我们可以将其转为稀疏数组给大家先看一下结果:稀疏数组的特点:稀疏数组的列是固定的三列:行、列、值。根据稀疏数组的特点,我们来演示一下一个二维数组是怎么转为稀疏数组的。结果在最上面我刚才演示的地方把稀疏数组转为二维数组思路:先读取稀疏数组的第一行,因为有了第一行才知道二维数组是几行几列的,接着就是把稀疏数组...
2020-05-03 22:07:41
253
原创 I/O流——输入输出字节流(图片的复制)
字节输出流-FileOutputStream字节输出流是将文件存储到电脑的硬盘上,有两种构造方法public void File(File file);public void File(String name)下面用代码演示:注:当没有a.txt文件时,会自己创建一个,但是当已经存在了a.txt文件是,他会把原有的a.txt文件中的数据清除掉。在a.txt文件中写入数据可以...
2020-05-02 23:25:57
275
原创 选择排序法:思路清晰
选择排序的思路选择排序法是通过比较最值的方式来进行排序的,打个比方:int arr[]={2,1,4,5,3},这里面我们用眼睛看的话是1最小,所以1和2换位置变成了{1,2,4,5,3},第二轮是2最小,所以2不用动,第三轮是3最小,所以4和3换位置变成了{1,2,3,5,4},第四轮4和5比较,4小,所以4和5换位置。比较结束。执行了4轮。所以如果有n个数的话,执行次数是n-1次下面是...
2020-05-01 21:29:32
2212
3
原创 冒泡排序法:秒懂详细!!!
冒泡排序法的原理:通过两个相邻的数两两比较代码实现注:如果数组的长度是n,则把arr.length替换成n即可,因此可以得到。如果数组长度为n,则需要排序的次数是n-1...
2020-04-30 22:25:03
210
原创 每日算法练习:给定nums[2,7,11,15],target=9,因为nums[0]+nums[1]=2+7=9,所以返回[0,1]
力扣算法原题在这里我用的是暴力算法,可以借解出来但不是特别好的算法public int[] run(int[] nums,int target) { for (int i = 0; i < nums.length; i++) { for(int j=i+1;j<nums.length;j++) { if(nums[i]+nums[j]==target) {...
2020-04-28 13:38:27
2347
原创 一个正整数n,一个正整数m(m>9),m的各位(个位、十位、百位)相乘等于n
要求实现算法:一个正整数n 一个正整数m(m>9) m的各位(个位、十位、百位、)相乘等于n例如:输入36 输出49 输入100 输出455public static int solution(int n) { int res = recur(n); if (res > 0) return res; return -1;} publi...
2020-04-26 23:02:13
690
原创 SVN checkout之后没有.svn文件
SVN 当checkout之后发现没有.svn文件首先我们要知道,当你check out 之后产生的文件夹.svn是一个隐藏文件夹,所以当你把选项打开隐藏的文件夹之后你就可以看到你想要的.svn文件夹了。我这是温10系统,给大家演示一下大家看懂的话可以给个赞嘛。 嘻嘻嘻...
2020-04-26 16:09:23
3183
原创 求1000以内的水仙花数
1000以内的水仙花数:水仙花数是指:仙花数:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。比方说a是个位,b是十位,c是百位。aaa+bbb+ccc=它本身,这个数就称为水仙花数我们求解这个算法首先要明白 “/” 和 "%"是怎么用的"/“是求商运算符10/2=5,而”%"是求余运算符2%10=2。输出...
2020-04-24 23:14:39
5753
1
原创 SSM框架的整合
Spring、SpringMVC、Mybatis三大框架首先我们要明白这三个框架是做什么的:Mybatis框架是用来管理持久层dao的,用于和数据库的交互,可以增删改查数据Spring的两大核心IOC(核心容器)和AOP(面向切面编程),用于管理业务层SpringMVC框架的核心是三大组件;前端控制器、视图解析器、监听器,用来管理表现层的这三个框架整合是都是基于Spring的框架,也...
2020-04-23 21:15:48
273
原创 SpringMVC跨服务器上传文件出现405、409、400的问题
浏览器报405的错误在tomcat目录下找到conf目录下的web.xml文件选择一种打开方式来打开web.xml文件,然后找到:在下面添加一组:readonlyfalse这样问题解决了。浏览器报409的错误这是因为找不到上传路径,需要在上传路径上的target文件添加你的文件夹名称:400的错误在上传文件时不能上传中文名的文件,否则会报400最后:如果感觉写的...
2020-04-21 18:24:20
833
原创 Static关键字的作用
java中的static关键字的作用1. 有默认值是0,只执行一次2. 当程序一执行就会开辟内存3. 只能在本源文件使用4. 如果static定义多个变量a,但是只有一个a不,进入类的大小计算,不依赖于类对象的存在而存在(可直接调用,要进行外置声明)扩展静态方法:用static修饰的方法为静态方法,用类名.静态方法名就可以执行该方法。注意:在静态方法中不能访问非静态成员方法和非静态成...
2020-04-19 21:29:26
194
原创 java线程安全问题的解决方式-lock锁
解决线程安全问题除了用synchronized(同步代码块)、synchronized(同步方法)之外,还能用java.utils下的Lock来解决。lock拥有synchronized的作用,但比synchronized更加贴切的面向对象lock锁也称同步锁,有加锁和解锁的方法:public void lock(); //加锁操作public void unlock(); //解锁...
2020-04-19 11:28:12
190
2
原创 java线程安全问题--"卖票问题"
当java程序启动至少有几个线程产生?当java程序从main方法开始执行时,就会伴随着一个线程的产生,程序结束后也会伴随着线程回收机制的开启,也会有有一个线程产生。所以在java程序开始执行时,至少有两个线程。程序的设计是这样的:模拟电影院卖票问题,假如一家电影院正在上映唐人街探案6,假设一个电影院只有100张票,分四个窗口来售票。接下来我把代码和问题展示给大家。我们期望的是运行结果应...
2020-04-18 22:20:02
459
原创 实现线程的Thread和Runnable的区别
Thread 和 Runnable 两者之间的区别一个类继承Thread,不能实现资源共享,因为一个类只能继承一个父类。但如果实现Runable接口的话,是很容易实现资源共享的,因为一个类可以实现多个接口。实现Runnable接口比继承Thread的优势:适合相同程序的代码共享同一个资源避免了java中单一继承的局限性增加了程序的健壮性,即实现了解耦操作,代码可供多个线程共享,代码与...
2020-04-18 09:29:55
203
1
原创 SpringMVC请求参数的绑定
Springmvc中的请求参数封装成一个实体类型(这种较为常用)先写一个类和里面的变量,然后生成getter/setter方法和toString()方法:按着上述步骤就可以得到你封装的数据了...
2020-04-17 22:41:17
95
原创 SpringMVC的入门程序
SpringMVC简单的入门程序:转发页面这里我用的是idea工具,现在来说应该是比较主流的java工具了,所以建议小伙伴门可以转到idea中。首先在打开idea时选择maven然后点击使用骨架创建,然后选择web-app,点击next根据个人建立项目名称,点击next接下来是告诉大家一个关于maven项目创建时加载慢的问题,只需要添加一组键值对就ok了,你的maven项目会建的非常快...
2020-04-17 13:47:07
186
1
原创 解决用maven建立web工程没有src的目录
此文章是适用于用maven项目的童鞋当你使用过maven建过项目时,你肯定就了解了一些maven创建的一些细节和步骤,比如你本地仓库和xml文件的位置之类的。所以这篇博客是适用于那些建过maven工程的童鞋怎么解决没有src目录?图片中的代码在这archetypeCatalog=internal...
2020-04-16 20:10:02
1302
4
原创 实现线程的两种方式
线程实现的两种方式继承(extends)Thread一个类A通过继承Thread,然后覆盖重写里面的run()方法,在main方法中创建对象a,通过对象调用a.start()的方式来启动线程实现接口(implements) Runnable一个类B实现Runnable的接口,然后也需要覆盖重写里面的run()方法,但是和继承不同的是,接口中的Runnable里面没有.start()方法,...
2020-04-16 18:14:03
1229
原创 java中进程和线程的概念
进程与线程进程指的就是我们平常用电脑有很多进程在同时运行比如:而线程则是用来负责当点进程的执行,一个进程中至少有一个线程,一个进程也可以有多个线程。线程调度分时调度:所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间**抢占式调度:**优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),java使用的为抢占式调度。总的来说当我们...
2020-04-16 15:01:16
187
原创 java中并发和并行的区别
并发和并行并发是指两个程序或以上在同一时间段上发生并行是指两个程序或以上在同一时刻上发生(同时发生)在操作系统中,安装了多个程序,并发是指在一段时间内宏观上有多个程序同时运行,这在单cpu系统中,每一时刻只能有一道程序执行,即微观上这些程序是分时的交替执行,只不过给人的感觉是同时运行,是因为分时交替运行的时间是非常短的。在多个cpu的操作系统中,这些可以并发执行的程序便可以分配到多个...
2020-04-16 12:14:45
2362
原创 java中final和finally的区别
java中final和finally的关系final和finally根本就没有关系,如果有关系的话 就好比雷锋和雷峰塔一样。final的使用final修饰类则该类不可继承final修饰方法该方法不可重写final修饰变量,该变量的值不可重新赋值finally的使用finally与try/catch 连用,自己不能单独使用。且finally{}的内容是必定会执行的例:...
2020-04-16 11:48:15
1220
原创 java中的异常的概念
异常的概念异常:指程序在运行过程中,出现的非正常的情况,最终会导致java虚拟机(jvm)的非正常停止。异常的根类是:java.lang.Throwable 他有两个子类,分别是 java.lang.error 和java.lang.Exception ,一般的异常指的就是java.lang.Exception3.4.出现异常可以通过查看异常的种类 然后拷贝到api中。...
2020-04-16 11:37:14
1083
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人