![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java初级
文章平均质量分 93
flying$
想在这里和大家交流并成长
展开
-
你知道吗?nextInt()和nextLine()一起用会干架
nextInt()和nextLine()一起使用时的注意点问题原因:nextLine()会把nextInt(),next(),nextDouble(),nextFloat()的结束换行符作为字符串读入,进而不需要从键盘输入字符串nextLine便已经转向了下一条语句执行。解决办法:在每一个nextInt(),next(),nextDouble(),nextFloat()后都加一个nextLine()语句,将它们的结束换行符过滤。例子:你看上面的代码有问题吗?我最初的回答也是:没有但是:原原创 2020-06-20 21:57:10 · 660 阅读 · 2 评论 -
java中序列化与反序列化
一、基本概念1、序列化和反序列化的定义:(1)Java序列化就是指把Java对象转换为字节序列的过程 Java反序列化就是指把字节序列恢复为Java对象的过程。(2)序列化最重要的作用:在传递和保存对象时.保证对象的完整性和可传递性。对象转换为有序字节流,以便在网络上传输或者保存在本地文件中。 反序列化的最重要的作用:根据字节流中保存的对象状态及描述信息,通过反序列化重建对象。总结:核心作用就是对象状态的保存和重建。(整个过程核心点就是字节流中所保存的对象状态及描述信息)2、j原创 2020-06-19 23:46:27 · 163 阅读 · 0 评论 -
积树成林 --- 平衡二叉树到底平不平衡,他说了算!树旋转
平衡二叉树到底平不平衡,他说了算!— 树旋转原创 2020-06-07 20:01:19 · 308 阅读 · 0 评论 -
java如何删除一个文件夹中的所有的文件
如果删除文件的话,直接调用他的delete()方法注意如果待删除的是一个文件夹,就不能直接调用delete()删除。import java.io.File; public class DeleteDirTest { public static void main(String[] args) { String path = "G:\\temp"; deleteDir(path); } public static boolean deleteDir(String path){原创 2020-06-07 17:41:28 · 1036 阅读 · 0 评论 -
妈妈,我要学内部类!好,给你四个
一、什么是内部类?内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用protected和private修饰(而外部类只能使用public和缺省的包访问权限)。内部类主要有一下几种:成员内部类、局部内部类、静态内部类、匿名内部类。二、内部类的共性:(1)、内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号 。(2)、内部类不能用普通的方式访问。(3)、内部类声明成静态的,就不原创 2020-05-22 22:03:28 · 397 阅读 · 2 评论 -
jq实时监控input的数据变化
$("input[type='layui-input']").bind("input propertychange",function(data){ // 具体代码 console.log(data) var content = data.target.value; if($.trim(content)==""){ layer.msg("输入框不可只输入空格!",{icon:5,time:1000}); .原创 2020-05-10 22:56:24 · 656 阅读 · 0 评论 -
POI操作execl表:有这个execl跑不了
近期做项目用到poi操作execl,感觉应该总结归总一下导入依赖:<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17<...原创 2020-04-27 11:36:53 · 225 阅读 · 0 评论 -
算法练习:统计「优美子数组」
题目描述:给你一个整数数组 nums 和一个整数 k。如果某个 连续 子数组中恰好有 k 个奇数数字,我们就认为这个子数组是「优美子数组」。请返回这个数组中「优美子数组」的数目。示例 1:输入:nums = [1,1,2,1,1], k = 3输出:2解释:包含 3 个奇数的子数组是 [1,1,2,1] 和 [1,2,1,1] 。示例 2:输入:nums = [2,4,6]...原创 2020-04-21 19:29:10 · 351 阅读 · 0 评论 -
List集合与数组相互转化 : 以String类型为例
String[]转ListString[] arr = new String[]{“s1”,“s2”,“s3”};List list = Arrays.asList(arr);List转String[]List list = new ArrayList();list.add(“s1”);list.add(“s2”);list.add(“s3”);String[] arr = ...原创 2020-04-07 17:30:58 · 903 阅读 · 0 评论 -
Controller中接收同一form表单传来的不同的对象数组
Controller中接收同一form表单传来的不同的对象数组今天在写东西的时候发现一个问题:一个前端内,同时只能提交一个form表单,但是难免会有同一个form表单中有不同表格的数据,那么在后端接收的时候就出现了问题问题出现场景(这只是我的应用场景,如有类似可以参考)某一个房子有装饰物类和附属物类这个方法的装饰物和附属物不唯一,可能有 1,2,3…个概念房屋的结构图:前端添加页...原创 2019-11-30 14:56:20 · 945 阅读 · 0 评论 -
数据结构八大排序java实现
本文对常见的排序算法进行了总结。常见排序算法如下:直接插入排序希尔排序简单选择排序堆排序冒泡排序快速排序归并排序基数排序它们都属于内部排序,也就是只考虑数据量较小仅需要使用内存的排序算法,他们之间关系如下:稳定与非稳定:如果一个排序算法能够保留数组中重复元素的相对位置则可以被称为是 稳定 的。反之,则是 非稳定 的。直接插入排序基本思想通常人们整理桥牌的方法是一...转载 2019-11-20 17:16:27 · 224 阅读 · 0 评论 -
Thymeleaf中"th:each""th:if"的用法解析
"th:each"用于迭代遍历<table> <thead> <tr> <th>序号</th> <th>用户名</th> <th>密码</th> ...原创 2019-11-15 00:00:15 · 5277 阅读 · 2 评论 -
Thymeleaf关于复选框,下拉框,单选框的数据绑定回显
默认选中第一个<input type ="radio" name="repaymentType"th:each ="repaymentType,repaymentState:${repaymentTypeList}"th:value="${repaymentType.dictName}"th:text ="${repaymentType.dictName}"th:attr ="ch...转载 2019-11-14 23:43:25 · 920 阅读 · 0 评论 -
java 方法参数
方法调用参数有两种方式:按值传递、引用传递下面介绍一下这个两个方式的具体含义: 1、按值调用:指的是在方法调用时,传递的参数是按值的拷贝传递,传递的是值的拷贝,也就是说传递后就互不相关了 2、按引用传递:指的是在方法调用时,传递的参数是按引用进行传递,其实传递的引用的地址,也就是变量所对应的内存空间的...原创 2019-10-24 00:52:28 · 253 阅读 · 0 评论 -
二叉排序树的 增&删&改&查
相信大家对二叉树并不陌生,今天我们一起来学习一下 一个特殊的二叉树 —二叉排序树。先来看百度给出的标准的定义:一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有节点的值均小于它的根节点的值;(2)若右子树不空,则右子树上所有节点的值均大于它的根节点的值;(3)左、右子树也分别为二叉排序树;(4)没有键值相等的节点。说的是非常的好,但是我一句没看懂,简单来说就...原创 2019-10-20 00:50:43 · 585 阅读 · 0 评论 -
ajax从后台获取的String转换为 json格式的对象
1、Javascript支持的转换方式:eval(’(’ + jsonstr + ‘)’); //可以将json字符串转换成json对象,注意需要在json字符外包裹一对小括号注:ie8(兼容模式),ie7和ie6也可以使用eval()将字符串转为JSON对象,但不推荐这些方式,这种方式不安全eval会执行json串中的表达式。2、JSON官方的转换方式:http://www.json.o...原创 2019-10-19 15:18:56 · 1435 阅读 · 0 评论 -
JDBC执行sql语句的方法,execute、executeUpdate、executeQuery
执行sql是JDBC最重要的一个步骤,可以说是JDBC的灵魂,执行sql 一般有三个方法:execute、executeUpdate、executeQuery 1、executeUpdate 执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,该方法返回 ...原创 2019-10-17 13:27:05 · 4820 阅读 · 0 评论 -
Statement 和 PreparedStatement 的比较
在使用jdbc进行两节数据库时,会用到 Statement 和 PreparedStatement两个不同的对象进行执行sql语句的步骤,不过两个对象之间有着相同和不同点,一起来看看吧相同点 1、首先要说的...原创 2019-10-16 23:56:59 · 270 阅读 · 0 评论 -
数据库连接池&& Spring JDBC
数据库连接池其实就是一个容器(集合)当系统初始化好后,创建容器,容器中存放链接对象,当用户访问数据库时从容器中获取链接对象好处:节约资源、用户访问高效连接池实现:1、标准的接口,DataSourse1、获取连接:getconnection2、归还连接:如果连接对象connection 是从连接池中获取的,那么调用close方法会归还连接2、一般不去实现,由数据库厂商来实现1、C...原创 2019-10-08 09:20:24 · 182 阅读 · 0 评论 -
servlet && ajax && json
今天学习了如何运用servlet 来实现前后端的交互,步骤比较多,重新看了一遍才记住个大概。工具:eclipse 、 tomcat 8步骤1、在eclipse 中创建 web 工程在eclipse 中 File -> New - > Other ,打开新建窗口,搜索Dynamic Web Project 点击Next ,给工程取名字,然后点击Next (不要直接点击Fin...原创 2019-10-10 01:16:15 · 106 阅读 · 0 评论 -
线程池 和lambda表达式
线程池:就是一个可以容纳多个线程的容器,可以是ArrayList、HashSet、LinkedList、HashMap;当程序第一次被创建时,创建多个线程,保存到一个集合中,当我们需要使用线程时,从集合中取出。其中的线程可以反复使用,省去了频繁创建线程的操作,无须反复创建线程而消耗过多的资源。合理利用线程池的三个好处:1、降低了资源的消耗;2、提高了响应速度3、提高了线程的可管理性jdk...原创 2019-08-06 21:11:31 · 114 阅读 · 0 评论 -
一个标准的类
组成部分:1、所有的成员变量都要使用private关键字来修饰。2、为每一个成员变量编写一堆getter和setter方法。3、编写一个无参数的构造方法。4、编写一个全参数的构造方法。一个标准的类叫做 Java Bean...原创 2019-07-17 14:15:03 · 181 阅读 · 0 评论 -
JDBC 简单入门
概念:1、java database connectivity ;java数据库链接,java语言操作数据库2、本质:是 sun 公司定义的一套操作所有关系型数据库的规则,即接口,各个数据库厂商 去实现这套接口 ,提供数据库驱动jar 包,我们可以使用这套接口 编程,真正执行的代码是驱动jar包中的实现类。执行JDBC 的步骤:1、导入驱动jar包2、注册驱动3、获取数据路连接对...原创 2019-10-04 19:45:54 · 82 阅读 · 0 评论 -
java比较方法 、java 包装器 、包装器 128 陷阱
今天学习了java 包装器,其中有很有意思的东西,也应该着重注意的就是“128陷阱”,如果不把他真的弄明白,可能会对以后的编程生涯有很大影响在奔向主体"128陷阱"之前我们先了解一下以下概念比较的方法1、在我们的印象中,所谓的比较就应该是“==”,比如 int a=100; int b=100; System.out.println(a==b);对于以上代码,毫无疑问应该输出( ...原创 2019-09-28 19:04:13 · 155 阅读 · 0 评论 -
ArrayList的学习
一、与数组的基本区别数组长度是不能修改的,ArrayList集合的长度是可以改变的二、对于ArrayList集合来说,有一个尖括号代表泛型。泛型:也就是转在集合里的所有元素,全都是统一的什么类型。注意:泛型只能是引用类型,不能是基本类型;左侧<>里面写泛型,右侧<>不能省略,不过里面可以不写东西。对于集合来说直接打印不会得到地址值,而是内容;如果内容是空,得...原创 2019-07-17 23:43:00 · 232 阅读 · 0 评论 -
java---接口
接口就是一种公共规范标准;接口是一种引用数据类型;定义:public interface 接口名称{//接口内容}如果是java7 接口中可以包括1、常量2、抽象方法如果是java8 接口可以额外包括3、默认方法4、静态方法如果是java9 接口可以额外包括5、私有方法接口类中抽象方法定义:public abstract void method();1、接口中的抽象...原创 2019-07-20 12:29:01 · 153 阅读 · 0 评论 -
Map类
java.util.Map<K,V>集合Map集合特点:1、Map集合是一个双列集合,一个元素包含两个值(一个Key,一个value)2、Map集合中的元素,key和value的数据类型可以相同也可以不同3、Map集合中的元素,key是不允许重复的,value是可以重复的4、Map集合中的元素,key和value是一一对应的java.util.HashMap<K,V&...原创 2019-07-24 19:24:08 · 156 阅读 · 0 评论 -
java——抽象方法和抽象类
抽象方法:加上abstract关键字,去掉大括号抽象类:抽象方法所在的类,必须是抽象类,在class前加上abstract关键字就可以。抽象类中也可以有普通的成员方法。如何使用抽象类和抽象方法:1、不能直接创建抽象类对象。2、必须用用一个子类来继承抽象父类3、抽象类子类中必须覆盖重写抽象父类中所有的抽象方法。覆盖重写(实现):子类去掉抽象方法的abstract关键字,然后补上方法体。...原创 2019-07-19 17:05:24 · 99 阅读 · 0 评论 -
面向对象三大特性---继承性
面向对象的三大特性:封装性、继承性、多态性继承是多态的前提,如果没有继承就没有多态。继承主要解决的问题:共性抽取父类叫基类、超类,子类叫派生类继承过程中的特点:1、子类可以拥有父类的“内容”;2、子类可以拥有自己专有的内容;3、子类就是一个父类,子类可以当做父类来看。继承的格式:父类 (一个普通的类)public class 父类名称{}子类public class 子...原创 2019-07-19 16:13:15 · 558 阅读 · 0 评论 -
面向对象三大特征---封装性
**三大特征:封装,继承,多态封装:一、封装性在java中的体现:1、方法就是一种封装2、关键字private也是一种封装,一旦使用private修饰,在本类中可以随意调用,但是别的类不能直接访问,但是可以利用成员方法间接访问。间接访问private成员变量需要定义两个set和get方法。对于setter来说,不能有返回值,参数类型和成员变量对应。对于getter来说,不能有参数,返回...原创 2019-07-17 14:08:17 · 1431 阅读 · 0 评论 -
局部变量和成员变量的区别:
1、定义的位置不一样局部:在方法的内部。成员:在方法的外部,直接写在类当中。2、作用范围不一样局部:只有在方法中才能使用,出了方法就不能再用成员:整个类都可以通用3、默认值不一样局部:没有默认值,如果要使用,必须手动进行赋值成员:如果没有赋值,会有默认值,规则和数组一样*方法在调用时,形参必须被赋值4、 内存位置不一样局部:位于栈内存成员:位于堆内存5、生命周期不一样局...原创 2019-07-17 13:23:40 · 226 阅读 · 0 评论 -
Collection--Set集合和Collections集合工具类
java.util.Set接口 extends Collection接口Set接口的特点:不允许存储重复的元素。没有索引,没有带索引的方法,也不能使用普通的for循环遍历java.util.HashSet集合 implement Set接口HsahSet的特点:1. 不允许存储重复的元素。2. 没有索引,没有带索引的方法,也不能使用普通的for循环遍历3.是一个无序的集合,存...原创 2019-07-24 00:12:32 · 731 阅读 · 0 评论 -
关于java学习中感觉比较重要的部分
java创建对象的注意事项1、对象包括属性和行为两个方面2、对象的创建(1)导包:也就是使用的类在那个位置import 包名称.类名称对于和当前类属于同一个包的情况,可以省略导包语句(2)创建类名称 对象名(自己起)=new 类名称();(3)使用:分为两个情况使用成员变量:对象名.成员变量名 (不赋值的初始值为null)使用成员方法:对象名...原创 2019-07-16 21:48:15 · 320 阅读 · 0 评论 -
面向对象三大特征---多态
面向对象三大特征:封装性、继承性、多态性extends继承或者implement实现,是多态的前提。代码中的体现:父类引用指向子类对象。格式:父类名称 对象名=new子类名称();或者接口名称 对象民=new 实现类名称();访问成员变量的两种方式:1、直接通过对象名称访问成员变量,看等号左边是谁就优先用谁,没有则往上找。2、间接通过成员方法访问成员变量,看该方法属于谁,优先用谁...原创 2019-07-20 22:22:42 · 244 阅读 · 0 评论 -
final关键字和权限修饰符
一、final 关键字代表最终的、不可改变的。常见四种用法:1、可以用来修饰一个类;格式:public final class 类名称{}含义:这类不能有任何子类,即不能做父类。注意:一个类如果被final修饰,那么其中所有的成员方法都无法进行覆盖重写。2、可以用来修饰一个方法;当final来修饰一个方法的时候,这个方法就是最终方法,即不能被覆盖重写。格式:修饰符 final...原创 2019-07-20 23:03:41 · 154 阅读 · 0 评论 -
理解方法调用的过程
理解方法调用过程1、编译器查看对象声明的类型和方法名,列出可能调用的候选方法2、根据调用的方法的参数,来进一步确定应该调用那个方法,称为重载解析注意:子类重写方法后,会覆盖父类中的方法返回值类型不是方法签名的一部分3、如果是private 、static、final 方法,或者构造器,编译器就会准确的知道调用哪个方法,称为静态绑定如果不是这三类的方法,调用的方法依赖于隐式参数的实际类...原创 2019-09-26 10:14:20 · 307 阅读 · 0 评论 -
File类
java.io.File 类文件和目录路径名的抽象表示形式java把电脑中的文件和文件夹封装成一个File类,可以使用File类对文件和文件夹进行操作可以 创建一个文件或文件夹可以 删除一个文件或文件夹可以 获取一个文件或文件夹的内容可以 判断一个文件或文件夹是否存在可以 对文件夹进行遍历可以获取文件的大小注:File类是一个与系统无关的类,任何的操作系统都可以使用者类中的方法...原创 2019-09-21 22:34:50 · 80 阅读 · 0 评论 -
java实现栈和队列 及 栈和队列的区别
栈和队列是什么?是概念!是逻辑结构!不是真是存在的!寄托载体不固定!栈和队列的特征?栈:先进后出,队列:先进先出int、double……是数据类型array、list、map都有各自固定的格式和样式而栈和队列可以是一个线性表、可以是一个数组……只要是符合“先进后出”结构就可以理解为栈,只要是符合“先进先出”结构就可以理解为队列一下是用java写出的栈和队列的代码示例:1、定义数据节...原创 2019-09-21 21:35:28 · 1159 阅读 · 0 评论 -
centos服务器控制语句
进入根目录:cd / 注意中间有一个空格列表:ls,列出文件ll:列出文件详情上传:rz下载:sz删除:rm(rm -rf)删除所有:rm*mkdir as 当前目录下创建as文件夹unzip AA.ZIP 解压AA.ZIPrar x xx.rar //解压xx.rar文件到当前文件夹rar test.rar ./test/ //将 test目录打包为 tes...原创 2019-09-08 19:29:17 · 107 阅读 · 0 评论 -
线程的唤醒机制
线程的状态1、new新建状态:线程刚被创建,但是没有启动,还没有调用start方法2、Runable可运行状态:线程可以在JVM中运行,即抢夺到CPU的使用权3、Blocked锁阻塞状态:当一个线程试图获取一个对象锁时,但是该对象被其他线程持有,该线程就会进入Blocked状态进行等待,当获得锁时,进入Runable状态4、Waiting无限等待状态:一个线程在等待另一个线程执行一个(唤...原创 2019-08-06 15:41:30 · 3314 阅读 · 0 评论