
Java学习
文章平均质量分 68
每天进步一點點
把时间花在感兴趣的事情上,保持终身学习。
展开
-
Selenium框架学习
Selenium框架学习参考资料:https://www.cnblogs.com/yyoba/p/12048866.html一、简介Selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),[Mozilla Firefox](https://baike.baidu.com/item/Mozilla Firefox/3504923),Safari,Google Chrome,Opera,原创 2021-04-05 14:13:43 · 380 阅读 · 1 评论 -
HashMap集合(高级)
该文为课程笔记课程连接:bilibili:黑马程序员笔记参考:链接一、HashMap集合简介 HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。 JDK1.8之前 HashMap由数组+链表组成的,数组是HashMap的主体,链表则是主要为了解决hash冲突(两个对象调用的hashCode方法计算的哈希码值一原创 2021-03-30 15:22:51 · 657 阅读 · 0 评论 -
ArrayList和LinkedList的区别、优缺点以及应用场景
https://blog.youkuaiyun.com/TTTZZZTTTZZZ/article/details/84916281?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.cont转载 2021-02-19 18:06:00 · 312 阅读 · 0 评论 -
Java静态内部类与非静态内部类的区别
Java静态内部类与非静态内部类的区别1 static 静态修饰符在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的。static修饰表示静态的,在类加载时JVM会把它放到方法区,被本类以及本类中所有实例所公用。在编译后所分配的内存会在一直存在,直到程序退出内存才会释放这个空间。如果一个被所有实例公用的方法被申明为static,那么就可以节省空间了,不用每个实例初始化的时候都被分配到内存。2.内部类定义在一个类内部的类叫内部类,包含内部类的类称为外部类。内部类可以声明public、pr转载 2020-12-17 10:27:40 · 497 阅读 · 0 评论 -
String、StringBuffer和StringBuilder区别
String、StringBuffer和StringBuilder的区别:StringString类是不可变类,即一旦一个String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。这个是String类的解释,之前看到这个情况,不能理解上述的解释,如下String a = "123";a = "456";// 打印出来的a为456System.out.println(a)看到这里,不明白了,这不是明明已经对他进行修改了吗?为什么还说他是一个不可变类呢?经过学习转载 2020-12-11 11:20:09 · 7158 阅读 · 1 评论 -
Java多线程死锁案例及分析
1.Demo/** * @version V1.0 * @ClassName:DeadLockTest * @Description: 死锁测试 * @author:Daniel * @date:2020/11/28 下午9:37 */public class DeadLockTest implements Runnable{ A a = new A(); B b = new B(); public void init() { Thread.curr原创 2020-11-28 22:17:31 · 301 阅读 · 0 评论 -
为什么打印ArrayList对象输出的不是地址?
为什么在打印一个ArrayList对象时,输出的不是此对象的地址,而是该集合中的值?是如何实现的?分析:Object类是Java中其他所有类的基类,没有Object类Java面向对象无从谈起,所有类都是Object类的直接子类或间接子类而在Object类的toString()方法中,返回的是 getClass().getName() + "@" + Integer.toHexString(hashCode())也就是地址值,打印ArrayList对象没有输出地址值,便可知道ArrayList重写了.转载 2020-11-06 16:54:57 · 2735 阅读 · 0 评论 -
Java中数组的定义方式
Java中数组的定义方式一维数组方法一int[] arr1 = new int[3]; // 给定数组长度,数值默认为0,长度必须给定ints[0] = 1;ints[1] = 2;ints[2] = 3;方法二int[] arr2 = new int[]{1,2,3}; // 创建数组时赋值方法三int[] arr3 = {1,2,3}; // 直接赋值,不使用new关键字二维数组动态初始化// 三种形式,第一种为常用// m为行数,n为列数,其中n可原创 2020-11-05 14:08:53 · 344 阅读 · 0 评论 -
ArrayList和LinkedList哪个更占空间?
一般情况下,LinkedList的占用空间更大,因为每个节点要维护指向前后地址的两个节点,但也不是绝对,如果刚好数据量超过ArrayList默认的临时值时,ArrayList占用的空间也是不小的,因为扩容的原因会浪费将近原来数组一半的容量,不过,因为ArrayList的数组变量是用transient关键字修饰的,如果集合本身需要做序列化操作的话,ArrayList这部分多余的空间不会被序列化。原文链接:https://zhuanlan.zhihu.com/p/166686856...转载 2020-10-18 14:24:10 · 575 阅读 · 0 评论 -
理解Java中字符流与字节流的区别
1. 什么是流Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列。和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序列的对象被称为输入流;能够向其写入一个字节序列的对象被称为输出流。2. 字节流Java中的字节流处理的最基本单位为单个字节,它通常用来处理二进制数据。Java中最基本的两个字节流类是InputStream和OutputStream,它们分别代表了组基本的输入字节流和输出字节流。InputStream类与Ou转载 2020-09-02 16:24:21 · 299 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别
一、Java String 类——String字符串常量字符串广泛应用 在Java 编程中,在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。需要注意的是,String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪费有限的内存空间。我们来看一下这张对String操作时内存变化的图:我们可以看到,初始String值为“hello”,然后在这个字符串后面加上新的字符串“world”,这个过程是需要重新在栈堆内转载 2020-07-28 10:59:42 · 218 阅读 · 0 评论 -
面试:HashMap面试必问的数据结构相关知识总结
转载自:菜鸟小于1:HashMap 的数据结构?A:哈希表结构(链表散列:数组+链表)实现,结合数组和链表的优点。当链表长度超过 8 时,链表转换为红黑树。transient Node<K,V>\[\] table;2:HashMap 的工作原理?HashMap 底层是 hash 数组和单向链表实现,数组中的每个元素都是链表,由 Node 内部类(实现 Map.Entry接口)实现,HashMap 通过 put & get 方法存储和获取。存储对象时,将 K/V 键值传给转载 2020-06-24 20:08:51 · 316 阅读 · 2 评论 -
Java中继承构造函数的执行顺序以和向上转型对象的方法
执行顺序结论:子类继承父类,创建子类对象时构造函数的执行顺序为父类成员变量显示初始化 --> 父类构造函数 --> 子类成员变量显示初始化 --> 子类构造多态调用方法结论:子类引用变量指向子类对象,可以调用父类所有方法;父类引用变量指向子类对象,只能使用父类的方法;调用方法看等号左边;Father son = new Son(1);实验:父类public class Father { private String name = "dad";原创 2020-06-23 23:32:19 · 404 阅读 · 0 评论 -
理解Java反射机制
理解Java反射机制一、为什么要用反射?假如你写了一段代码:Object o=new Object();运行了起来!首先JVM会启动,你的代码会编译成一个.class文件,然后被类加载器加载进jvm的内存中,你的类Object加载到方法区中,创建了Object类的class对象到堆中,注意这个不是new出来的对象,而是类的类型对象。每个类只有一个class对象,作为方法区类的数据结构的接口。jvm创建对象前,会先检查类是否加载,寻找类对应的class对象,若加载好,则为你的对象分配内存,初始化也转载 2020-06-18 18:37:01 · 178 阅读 · 0 评论 -
JDBC抽取基础公共类
1、数据库配置文件(mysql5.xx和8.xx的编写有差异)driver=com.mysql.jdbc.Driver#在和mysql传递数据的过程中,使用unicode编码格式,并且字符集设置为utf-8url=jdbc:mysql://127.0.0.1:3306/smbms?useSSL=false&useUnicode=true&characterEncoding=utf-8user=rootpassword=root2、JDBC基础公共类public class B原创 2020-06-18 12:54:49 · 387 阅读 · 0 评论 -
JavaWeb基础知识
JavaWeb基础知识1、Tomcat高难度面试题 请你谈谈网站是如何访问的?输入一个域名;回车检查本机的:C:\Windows\System32\drivers\etc\hosts配置文件下有没有这个域名映射;有:直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问192.30.253.112 github.com没有:去DNS服务器找,找到的话就返回,找不到就返回找不到;1.1 Tomcat服务器网站结构-- webapps :原创 2020-06-18 11:37:59 · 817 阅读 · 0 评论 -
Java 重写(Override)与重载(Overload)
重写(Override)重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。例如: 父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exception 异常,因为 Exception 是 IOException 的父类,只能抛出 IOExceptio原创 2020-06-16 23:33:19 · 195 阅读 · 0 评论 -
Java中的正斜杠与反斜杠的使用场景
正斜杠:/ 键盘上右Shift左边那个键反斜杠:\ 键盘上退格下面那个键“/“在JAVA中没有什么特别的意义,就是代表一个字符”/”;反斜杠"“和紧跟着它的那个字符构成转义字符,如”\n"(表示换行)、"""(表示字符""")等,所以在字符串中要表示字符"“要用”\"来表示例如:String location = "D:\\workspace\\test";特别要注意:在正则表达式中表示一个反斜杠\,应当写成"\\"。"\“表示和后面紧跟着的那个字符构成一个转义字符。而”\“被视为”"。ja原创 2020-06-18 11:42:50 · 1642 阅读 · 1 评论 -
Java网络编程
Java网络编程1.1 、概述Javaweb : 网页编程 B/S网络编程:TCP/IP C/S1.2、网络通信的要素如何实现网络的通信?通信双方地址:ip端口号192.168.16.124:5960规则:网络通信的协议[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T6ynMkgR-1591928680579)(C:\Users\邓联庆\AppData\Roaming\Typora\typora-user-images\image-20200原创 2020-06-12 10:26:55 · 307 阅读 · 0 评论 -
Java基础知识回顾+扫盲
JAVA基础知识扫盲ing…基础语法一、注释// _ooOoo_ // o8888888o // 88" . "88 // (| -_- |) // O\ = /O //原创 2020-06-12 10:24:32 · 493 阅读 · 0 评论 -
回顾Java环境变量配置——ClassPath、Path的作用
学习是一个反复的过程,要不断的回归基础,这次回的有点大了,回到了Java的环境变量设置,我们来回顾一下配置Java开发环境的整个过程。1、在Orcle官网下载JDK后安装到本地这里有一个知识点JDK、JRE、JVM的关系JDK:Java Development Kit 是Java的标准开发工具包(普通用户只需要安装 JRE来运行 Java 程序。而程序开发者必须安装JDK来编译、调试程序)。它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行环境JRE,以原创 2020-06-08 12:29:18 · 1477 阅读 · 0 评论 -
JDK、JRE、JVM三者之间的关系
区别与联系:JDK用于开发,是给开发人员用的,JRE 用于运行java程序,和JVM是给普通用户使用的。如果只是运行Java程序,可以只安装JRE,无序安装JDK。也就是说:使用JDK开发完成的java程序,交给JRE去运行。JDK包含了JRE,JDK 和 JRE 中都包含 JVM。也可以说JDK是JRE+Java的开发工具。JRE包含了JVM+Java语言的核心类库。...原创 2020-06-08 00:06:15 · 237 阅读 · 0 评论 -
MarkDown常用语法
MarkDown学习标题(# 名称 + 回车)一级标题(## 名称 + 回车)二级标题…字体Hello.World!Hello.World!Hello.World!Hello.World!引用Java,是世界上最好的语言(>+回车)分割线(— + 回车)或(*** + 回车)图片(小写:![自定义名称]+())超链接点击跳转到我的博客([名称]+(网络连接))列表有序列表:(1.+空格)无序列表:(- + 空格)表格名字 性别 生日张三原创 2020-06-07 22:06:41 · 212 阅读 · 0 评论 -
深入理解线程和线程池(图文详解)
关于线程和线程池的学习,我们可以从以下几个方面入手:第一,什么是线程,线程和进程的区别是什么第二,线程中的基本概念,线程的生命周期第三,单线程和多线程第四,线程池的原理解析第五,常见的几种线程池的特点以及各自的应用场景一、线程,程序执行流的最小执行单位,是行程中的实际运作单位,经常容易和进程这个概念混淆。那么,线程和进程究竟有什么区别呢?首先,进程是一个动态的过程,是一个活动的实体。简单来说,一个应用程序的运行就可以被看做是一个进程,而线程,是运行中的实际的任务执行者。可以说,进程中包含了多个转载 2020-06-07 18:02:22 · 289 阅读 · 0 评论 -
Java多线程Thread和Runnable(总结)
Java多线程常用的两种实现方法继承Thread类子类继承Thread类具备多线程能力启动线程:子类对象.start()不建议使用:避免OOP单继承局限性实现Runnable接口实现接口Runnable接口具有多线程能力启动线程:传入目标对象+Thread对象.start()new Thread(new ClassImplementRunnable()).start()- *推荐使用:避免单继承局限性,灵活方便,方便同一个对象被多个线程使用。一份资源,多个代理/原创 2020-06-06 09:44:02 · 2330 阅读 · 0 评论 -
Maven项目SSM框架整合pom文件
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ma...原创 2020-04-27 12:31:24 · 462 阅读 · 0 评论 -
【debug】解决IDEA报错:Data truncated for column ‘money‘ at row 1
报错:java.sql.SQLException: Data truncated for column 'money' at row 1错误原因:1、数据库列修改和更新的时和表字段 money 类型不一致;2、检查你的jdbc.properties配置看是否操作的是你想操作的数据库;我犯了第二个错误…引以为戒~!...原创 2020-04-27 11:57:17 · 1049 阅读 · 0 评论 -
【debug】解决IDEA报错:Method com/mchange/v2/c3p0/impl/NewProxyResultSet.isClosed()Z is abstract
解决IDEA报错:Method com/mchange/v2/c3p0/impl/NewProxyResultSet.isClosed()Z is abstract报错原因:报错的意思是com.mychange/v2/c3p0包下的一个代理对象时抽象的。检查代码,发现我根本就没有注入这个依赖,我注入的C3P0依赖版本太低。将这个依赖:<dependency> ...原创 2020-04-27 11:40:53 · 1132 阅读 · 1 评论 -
Eclipse查看源码出现乱码问题
Eclipse Ctrl点击方法进入查看源码,出现Source not Found,尝试了很多种方法没有解决。记录一下最后的解决方案,参考了:https://blog.youkuaiyun.com/zhuzuwei/article/details/81079130 和https://blog.youkuaiyun.com/m0_37870755/article/details/79315026## 标题原创 2019-11-09 22:26:44 · 279 阅读 · 0 评论 -
翁恺老师Java进阶城堡游戏源码
刚开始学习Java,在比站发现了翁恺老师的课程,讲的很不错。Castle源码我找了很久都没有找到,于是我决定做一回搬运工,也方便一下大家,大家一起学习,一起进步,加油!原创 2019-07-08 09:47:22 · 4605 阅读 · 7 评论