java
MilkBerg
这个作者很懒,什么都没留下…
展开
-
开发中遇到==和equals()的区别以及在比较Long类型的坑
一.首先说明==和equals()的区别当比较的是基本数据类型时,比较的是值,当比较的是对象时,比较的是引用,具体大家可以看其他博客,很详细。二.==和equals()在Long类型比较中的问题首先说明一下这个方法的含义:找出一级菜单下的属于该一级菜单的所有二级菜单在前端将其显示。数据库中的数据如下:第一个字段是id,第二个字段是parentId所以191就是属于190(一级菜单)的二级菜单通过debug发现,代码中的menuList(所有菜单)有这一栏allTopMenu(一级菜原创 2020-09-07 15:14:54 · 1217 阅读 · 0 评论 -
IDEA中点击小括号乱码以及注释乱码
在开发过程中,以前使用的一种字体,一直没有问题,今天突然打开项目,变为如图所示:所有括号都会乱码,以及注释中的@author也会乱码刚开始以为是IDEA文件编码问题,换了好多并没有解决最后发现是字体问题我现在使用的是这种字体,将其改为JetBrains Mono字体或者其他字体,恢复正常造成这样的原因未知,希望有大佬可以告知...原创 2020-07-04 17:49:12 · 375 阅读 · 0 评论 -
JAVA数据库
一.数据库1.数据库的概念DataBase:DB用于存储和管理数据的仓库。数据库的特点:(1)持久化存储数据的,数据库就是一个文件系统。(2)方便存储和管理数据。(3)使用了统一的方式操作数据库–SQL数据库软件:二.mysql数据库MySQL安装目录配置文件 .ini数据目录数据库:文件夹表:文件数据:存储的数据1.SQL概念structured query...原创 2019-11-20 15:33:53 · 151 阅读 · 0 评论 -
JAVA中Junit,反射和注解
一.Junit单元测试1.Junit概述测试分类:(1)黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。(2)白盒测试:需要写代码。关注程序具体的执行流程。2.Junit的使用步骤junit:白盒测试步骤:(1)定义一个测试类(测试用例)建议测试类名:被测试的类名Test CalculatorTest包名:xxx.xxx.xx.test cn.itcast....原创 2019-11-19 14:29:14 · 126 阅读 · 0 评论 -
java原生实现动态代理
一. 动态代理的分类动态代理的实现分为俩类基于接口的动态代理* 涉及的类:Proxy* 提供者:JDK官方* 如何创建动态代理:* 使用Proxy类中的newProxyInstance方法* 创建代理对象的要求:* 被代理类最少实现一个接口,如果没有则不能使用* newProxyInstance方法的参数:* ...原创 2020-04-21 21:11:01 · 316 阅读 · 0 评论 -
java中静态代码块以及static修饰的类,方法,成员变量
一. 静态代码块为什么要用静态代码块?一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这些代码是自己主动执行的。看下面这个例子,这是一个jdis连接池,首先我必须先加载配置文件才能继续其他工作,为保证加载配置首先执行,而且静态代码块有一个作用就是随着类的加载而执行,而且只执行一次,我只需要在开始加载配置,而不需要每次操作时都加载配置public cla...原创 2020-03-28 17:19:20 · 390 阅读 · 0 评论 -
IDEA常用快捷键
一、 IntelliJ IDEA常用快捷键在使用IDEA编辑代码的时候,我们应该熟练使用快捷键,这样可以提高编辑代码的效率。a) 查找快捷键1、 ctrl + F:当前文件查找特定文字、代码等内容2、 ctrl + shift + F:当前项目中查找特定的文字、代码等内容。(edit—find—find in path)3、 双击shift:在项目的任何地方查找4、 ctrl + n:...原创 2020-03-20 11:12:57 · 760 阅读 · 0 评论 -
JAVA中网络编程以及TCP通信程序
一.网络编程1.软件结构网络编程就是在一定的协议下,实现两台计算机的通信程序。俩种结构:(1)C/S结构:Client/Server,客户端和服务器结构。(2)B/S结构:Browser/Server,浏览器和服务器结构。2.网络通信协议网络通信协议TCP/IP通信协议3.协议分类(1)UDP协议(无通信连接)(2)TCP协议(面向连接)4.网络编程三要素协议...原创 2019-11-18 11:45:33 · 439 阅读 · 0 评论 -
JAVA之IO流(布尔表达式)
一.IO流1.io流概述二.字节输出流(FileOutputStream类)1.一切皆为字节一切文件数据在存储时,都是以二进制数字的形式保存,都是一个一个的字节,字节流可以传输任意文件数据。在操作流的时候,无论使用什么样的流对象,底层传输的始终为二进制数据。2.字节输出流(1)java.io.OutputStream:字节输出流概述此抽象类是表示输出字节流的所有类的超类。定义了一...原创 2019-11-17 15:16:56 · 785 阅读 · 0 评论 -
JAVA中File类(过滤器)以及递归
一.File类1. 概述java.io.File类文件和目录路径名的抽象表示形式。java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作我们可以使用File类的方法创建一个文件/文件夹删除文件/文件夹获取文件/文件夹判断文件/文件夹是否存在对文件夹进行遍历获取文件的大小File是一个与系统无关的类,任何的操作系统都可以使用...原创 2019-11-15 20:51:57 · 245 阅读 · 0 评论 -
JAVA之Lambda表达式
函数式编程思想面向对象的思想:做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情。函数式编程思想:只要能获取到结果,谁去做的,怎么做的不重要,重视的是结果,不重视过程。冗余的Runnable代码package Runnable;/* 使用实现Runnable接口的方式实现多线程程序 */public class Demo01Runnable { ...原创 2019-11-14 21:54:32 · 106 阅读 · 0 评论 -
JAVA之线程状态和线程池
一.各种线程状态Timed Waiting线程状态锁阻塞状态Waiting状态(等待唤醒)二.Waiting状态详解等待唤醒案例代码实现package WaitAndNotify;/* 等待唤醒案例:线程之间的通信 创建一个顾客线程(消费者):告知老板要的包子的种类和数量,调用wait方法,放弃cpu的执行,进入到WAITING状态(无限等待...原创 2019-11-13 09:23:22 · 649 阅读 · 0 评论 -
JAVA之线程安全以及同步
一.线程安全1. 线程安全问题2. 线程安全问题的代码实现需求:模拟卖票案例创建3个线程,同时开启,对共享的票进行出售实现类/* 实现卖票案例 */public class RunnableImpl implements Runnable { //定义一个多个线程共享的票源 private int ticket = 100; //设置线程任务:...原创 2019-11-12 21:03:20 · 78 阅读 · 0 评论 -
JAVA之多线程
1.并发和并行2.线程和进程进程线程线程调度主线程3.创建线程类第一种方法:创建Thread类的子类java.lang.Thread类:是描述线程的类,我们想要实现多线程程序,就必须继承Thread类实现步骤: 1.创建一个Thread类的子类 2.在Thread类的子类中重写Thread的类中的run方法,设置线程任务(开启线程要做什么) 3...原创 2019-11-11 21:01:39 · 125 阅读 · 0 评论 -
JDK9的新特性对于(List,Set,Map)批量添加配置以及Debug操作
JDK9的新特性:List接口,Set接口,Map接口:里面增加了一个静态方法of,可以给集合一次性添加多个元素static List of(E… elements)使用前提:当集合中存储的元素的个数已经确定了,不在改变时使用注意:1.of方法只适用于List接口,Set接口,Map接口,不适用于接口的实现类(ArrayList,HashSet,HashMap等不能用)2.of方...原创 2019-11-11 10:25:54 · 413 阅读 · 0 评论 -
JAVA使用Map集合计算一个字符串中每个字符出现的次数
package Map;import java.util.HashMap;import java.util.Scanner;/* 练习: 计算一个字符串中每个字符出现的次数 分析: 1.使用Scanner获取用户输入的字符串 2.创建Map集合,key是字符串中的字符,value是字符的个数 3.遍历字符串...原创 2019-11-11 10:03:56 · 2630 阅读 · 4 评论 -
JAVA中Map集合
Map集合特点Map集合的特点:java.util.Map<K,V>集合1.Map集合是一个双列集合,一个元素包含俩个值(一个称为Key,一个称为Value)2.Map集合中的元素,key和value的数据类型可以相同,也可以不同3.Map集合中的元素,key是不允许重复的,value是可以重复的4.Map集合中的元素,key和value是一一对应的`java.util...原创 2019-11-10 10:43:31 · 129 阅读 · 0 评论 -
Collections集合工具类
java.util.Collections是集合工具类,用来对集合进行操作。部分方法如下:public static <T> boolean addAll(Collection<T>, T... elements):往集合中添加一些元素。public static void shuffle(List<?> list)打乱顺序:打乱集合顺序。public...原创 2019-11-08 20:47:07 · 78 阅读 · 0 评论 -
JAVA中可变参数
可变参数:JDK1.5之后出现的新特性使用前提:当方法的参数列表数据类型已经确定,但是参数的个数不确定,就可以使用可变参数使用格式:定义方法时使用修饰符 返回值类型 方法名(数据类型…变量名){}可变参数的原理:可变参数底层就是一个数组,根据传递参数个数不同,会创建不同长度的数组,来存储这些参数传递的参数个数,可以是0个(不传递),1,2…多个public class Demo01...原创 2019-11-08 16:36:44 · 125 阅读 · 0 评论 -
JAVA集合之List和Set集合
List集合(接口)java.util.List接口 extends Collection接口List接口的特点:1.有序的集合,存储元素和取出的元素的顺序是一致的(存储123,取出123)2.有索引,包含了一些带索引的方法3.允许存储重复的元素List接口中带索引的方法(特有) add(int index, E element) 将指定的元素插入此列表中的指定位置(可选操作)...原创 2019-11-08 14:53:19 · 119 阅读 · 0 评论 -
JAVA集合案例(斗地主)(List集合和Map集合)
需求:/* 斗地主综合案例: 1.准备牌 2.洗牌 3.发牌 4.看牌 */public class DouDiZhu { public static void main(String[] args) { //1.准备牌 //定义一个存储54张牌的ArrayList集合,泛型使用...原创 2019-11-06 11:06:53 · 513 阅读 · 2 评论 -
JAVA中泛型
泛型是一种未知的的数据类型,当我们不知道使用什么数据类型的时候,可以使用泛型,泛型也可以看作是一个变量,用来接收数据类型 E e:Element 元素 T t:Type类型ArrayList集合在定义的时候,不知道集合中都会存储什么类型的数据,所以类型使用泛型。E:未知的数据类型public class ArrayList<E>{ public boolean add(E...原创 2019-11-05 14:30:01 · 104 阅读 · 0 评论 -
JAVA中集合之Collection及迭代器(foreach)
集合:会使用集合存储数据遍历集合,把数据取出来掌握每种集合的特性TreeSet集合和HashSet集合是一个无序集合(存储和取出元素的顺序有可能不一致)LinkedHashSet集合是一个有序集合集合框架的学习方法:学习顶层:接口/抽象类中共性的方法,所有子类都可以使用使用底层:底层不是接口就是抽象类,无法创建对象使用,需要使用底层的子类创建对象使用Collection...原创 2019-11-04 15:14:15 · 651 阅读 · 0 评论 -
JAVA中异常产生过程解析
一个 简单例子。public class Demo02Exception { public static void main(String[] args) { //创建int类型数组,并赋值 int[] arr = {1,2,3}; int e = getElement(arr,3); System.out.println(e);...原创 2019-10-31 17:07:20 · 224 阅读 · 0 评论 -
JAVA中ArrayList之筛选集合元素
题目:用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合当中。要求使用自定义的方法来实现筛选。分析:1.需要创建一个集合,用来存储int数字:2.随机数字用Random nextInt3.循环20次,把随机数字放入大集合:for循环,add4.定义一个方法,用来筛选。筛选:根据大集合,筛选符合要求的元素,得到小集合。三要素:返回值类型:ArrayList小集合(...原创 2019-10-26 11:52:36 · 3110 阅读 · 0 评论 -
JAVA中ArrayList之以指定格式打印集合
题目:定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起来,使用@分隔每个元素。格式参照:{元素@元素@元素}public class Demo03ArrayListPrint { public static void main(String[] args) { ArrayList<String> list = new Array...原创 2019-10-26 11:13:11 · 1227 阅读 · 0 评论 -
JAVA中ArrayList之存储自定义对象
题目:自定义4个学生对象,添加到集合,并遍历。思路:1.自定义Student学生类,四个部分。2.创建一个集合,用来存储学生对象。泛型:3,根据类,创建4个学生对象。4,将4个学生对象添加到集合当中:add5.遍历集合:for,size,get代码public class Demo02ArrayListStudent { public static void main(...原创 2019-10-26 10:58:34 · 4934 阅读 · 3 评论 -
JAVA中ArrayList之产生6个随机数据
题目:生成6个1到33之间的随机数,添加到集合,并且遍历集合。思路:1.需要存储6个数字,创建一个集合,2.产生随机数,需要用到Random3.用循环6次,来产生6个随机数字,for循环4.循环内调用r.nextInt(int n),参数是33,0-32,整体+1才是1-335.把数字添加到集合当中,add6.遍历集合:for,size,getpublic class DemoA...原创 2019-10-26 10:36:16 · 1130 阅读 · 0 评论 -
JAVA中ArrayList集合
对于ArrayList来说,有一个尖括号代表泛型。泛型:也就是装在集合当中的所有元素,全都是统一的什么类型。注意:泛型只能是引用类型,不能是基本类型。注意事项:对于ArrayList集合来说,直接打印得到的并不是地址值,而是内容。如果内容是空,得到的是空的中括号[]。public class Demo02ArrayList { public static void main(...原创 2019-10-26 10:34:58 · 403 阅读 · 0 评论 -
JAVA接口作为成员变量类型
首先创建一个接口Skillpublic interface Skill { public abstract void use();//施放技能的抽象方法}接口的实现类SkillImplpublic class SkillImpl implements Skill { @Override public void use() { System.ou...原创 2019-10-24 16:29:23 · 2439 阅读 · 2 评论 -
JAVA类作为成员变量类型
类作为成员变量类型首先,观察代码private String name; 通过Ctrl点入String发现,String是一个类。public final class String implements Serializable, Comparable<String>, CharSequenceString既不是基本类型也不是数组,由此可以知道类也可以作为成员变量类型。...原创 2019-10-24 16:07:54 · 2764 阅读 · 0 评论 -
JAVA中封装
封装性在java中的体现:1.方法就是一种封装2.关键字private也是一种封装封装就是将一些细节信息隐藏起来,对外界不可见。问题描述:定义Person的年龄时候,无法阻止不合理的数值被设置进来。解决方案:用private关键字将需要保护的成员变量进行修饰。一旦使用private进行修饰,那么本类当中仍然可以随意访问。但是,超出了本类之外就不能直接访问了。间接访问private成...原创 2019-10-24 11:57:01 · 1017 阅读 · 0 评论 -
JAVA匿名内部类
匿名内部类的作用,不需要让接口再创建文件对抽象方法进行覆盖重写如果接口的实现类,或者是父类的子类,只需要使用唯一的一次。那么这种情况下就课易省略该类的定义,而改为使用(匿名内部类)。匿名内部类的定义格式:接口名称 对象名 = new 接口名称(){ //覆盖重写所有抽象方法};public class DemoMain { public static void m...原创 2019-10-23 16:05:42 · 122 阅读 · 0 评论 -
JAVA中成员变量和局部变量
public class Outer { int num =10; //外部类的成员变量 public class Inner { int num = 20;//内部类的成员变量 public void methodInner() { int num = 30; //内部类方法的局部变量 Sys...原创 2019-10-23 09:30:08 · 70 阅读 · 0 评论 -
JAVA内部类
如果一个事务的内部包含另一个事务,那么这就是一个类内部包含另一个类。例如: 身体和心脏的关系。又如:汽车和发动机的关系。有俩种内部类:1.成员内部类2.局部内部类(包含匿名内部类)成员内部类的定义格式:修饰符 class 类名称{ 修饰符 class 内部类名称{ //..... } //..... }...原创 2019-10-23 10:44:14 · 101 阅读 · 0 评论 -
JAVA中四种权限修饰符
java中有四种权限修饰符: public > protected > (default) > private注意事项:(default)并不是关键字”default“,而是根本不写。项目publicprotecteddefaultprivate同一个类(我自己)YESYESYESYES同一个包(我邻居)YESYESYESN...原创 2019-10-22 20:15:19 · 166 阅读 · 1 评论 -
JAVA中super关键字和this关键字的用法
super关键字super关键字的用法有三种:1.在子类的成员方法中,访问父类的成员变量。2.在子类的成员方法中,访问父类的成员方法。3.在子类的构造方法中,访问父类的构造方法。public class Zi extends Fu { int num = 20; public Zi() { super(); //访问父类构造器 } p...原创 2019-10-22 17:24:58 · 735 阅读 · 0 评论 -
JAVA的内存图理解(栈,堆,方法区)
Java的内存需要划分成为5个部分:栈(stack)存放的都是方法中的局部变量。方法的运行一定要在栈当中。局部变量: 方法中的参数,或者方法{}内部的变量。作用域: 一旦超出作用域,立刻从栈内存当中消失。堆(heap)凡是new出来的东西,都在堆当中。堆内存里面的东西都有一个地址值:16进制堆内存里面的数据,都有默认值。规则:如果是整数 默认为0如果是浮点数 默认为0...原创 2019-10-22 15:32:32 · 4168 阅读 · 4 评论 -
JAVA中final关键字
final关键字代表最终,不可改变的。常见四种用法:可以用来修饰类可以用来修饰一个方法还可以用来修饰一个局部变量还可以用来修饰一个成员变量用来修饰类当final关键字用来修饰一个类的时候,格式:public final class 类名称 {}含义: 当前这个类不能有任何的子类。一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写。用来修饰成员方法当f...原创 2019-10-21 17:53:02 · 71 阅读 · 0 评论 -
JAVA中多态
面向对象三大特征:封装性,继承性,多态性。extends继承或者implement实现,是多态性的前提。小明是一个对象,这个对象既有学生形态,也有人类形态。一个对象拥有多种形态,这就是:对象的多态性。代码当中体现多态性,其实就是一句话,父类引用指向子类对象。格式:父类名称 对象名 = new 子类名称();子类被当作父类来看代,一只猫被当作一个动物或者:接口名称 对象名 = ...原创 2019-10-21 16:00:31 · 76 阅读 · 0 评论