Java基础库
Java的经典例题、知识概括例题等简称:个人的Java小题库,以由浅入深的层次每天为大家更新我的所学、所得、所感。谢谢大家支持!------基础知识库
何学长在奔跑
持续努力,变平凡为不凡:
梦想与现实之间的巨大落差常令人烦躁不安。然而,人生就是”今天”的不断积累,就是“现在”这一刻的不断延续,如此而已。
然而,不错过今天,认真工作就能看清明天,明天再认真工作就能看清后面的一周,一周认真工作,就能看清后面的一月...就是说,即使不去探索遥远的未来,只要全身贯注于眼前的每一个瞬间,以前看不清楚的未来的景象就会自然地呈现在你眼前。
与其莫名其妙为明天而烦恼,与其苦思冥想去制定长远的计划,还不如全力过好今天这一天。这才是实现理想最切实的办法。
----稻盛和夫《活着》
展开
-
jdk中StringBuilder字符串调优和intern();方法
String字符串是常量,创建之后不可改变字符串字面值存储在字符串池中,可以共享String s = “Hello”; 产生一个对象,字符串池中存储String s = new String(“Hello”); //产生两个对象,堆、池中各存储一个String类常用方法集合代码实例:点击String类方法集合可变字符串StringBuffer:可变长字符串,JDK1.0提供,...原创 2020-03-03 14:00:23 · 3130 阅读 · 0 评论 -
探究Comparable接口中CompareTo的方法,即其中的Arrays.sort排序底层原理(利接口回调来对学生数组中的对象信息排序)
接口是一个非常重要的知识内容,可以说没有接口就没有Java现在这般辉煌模样。所以接口回调也是非常重要!于是昨天我也是写了很多东西就到了12点半,哈哈!所以昨天没有来得及发,今天才发出来的。其实以前我学这里的时候也头秃,但是毕竟得迈过一些坑对吧。底层原理十分的锻炼自己的思维,以后我们还会探究更多知识的底层原理,比如:Object、Hashmap、jvm的垃圾回收机制和内存管理机制等等…好多同学...原创 2020-02-27 13:26:56 · 1620 阅读 · 0 评论 -
JavaWeb文件下载文件名称变成下划线的完美解决与分析
文件下载的步骤有三大步骤:设置响应对象的媒体类型设置下载窗口IO流对文件的读写问题分析: 首先,问题所在是我们下载的文件名称中文变成了下划线,所以我们可以断定和第一步设置响应对象的媒体类型无关。再去看文件的大小是可以读取出来的,所以我们这也可以说明此问题和IO读写文件也无关。两个步骤排除了就剩下设置下载窗口了。答案:问题就是出在设置下载窗口上!设置下载窗口: 设置下载窗口是通过响应对...原创 2020-05-07 19:44:22 · 3488 阅读 · 0 评论 -
Windows查看杀死进程命令(解决tomact端口8080被占用问题)
我这里使用8080端口做示范!杀死进程命令: taskkill /f /t /im 进程名(杀死进程命令如下得到了解释!)查看端口被占用的进程号在Windows命令行执行:netstat -ano|findstr "8080"发现端口号“8080”被PID(进程号)为14384的进程占用查看端口“8080”被哪个应用程序占用在Windows命令行执行:tasklist...原创 2020-04-19 12:37:14 · 588 阅读 · 0 评论 -
java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed
java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed报错信息解析: 在响应后无法调用重定向Servlet基本概述:确定是否有必要使用重定向如有必要,请使用重定向否则,请继续执行Servlet的工作报错原因:在使用重定向后,我们的页面已经...原创 2020-04-19 10:54:50 · 8166 阅读 · 0 评论 -
绝对路径、相对路径、根路径的区别和在盘符、Web中的应用(详解,附:getClassLoader().getResource()和getResource()的路径问题)
关于路径问题的详细讲解,大家耐心查看!路径分类: 绝对路径、相对路径和根路径绝对路径: 绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。比如: 我们熟悉的host文件路径为C:\windows\system32\hostWeb中的绝对路径: 用在不同网站之间跳转,比如:http://www.baidu.com.image/sky.png相对路径: 对路径就是指...原创 2020-04-16 00:06:55 · 2870 阅读 · 0 评论 -
解决tomact客户端与IDEA的一系列乱码问题(详细图解)
汤姆猫你又不老实了,又给我出乱码了!看我怎么收拾你!根本问题: 我们开发过程中,规定utf-8编码多一些,而Windows却默认GBK!所以我们最好统一编码修改为utf-8!目前tomact乱码分为这几类:(完美解决)如果你的乱码问题不知道是哪一种的话,你可以点击跳转去看一下符合哪种,然后去解决它!DSO命令行中tomact客户端提示信息乱码问题????跳转下文解决此问题IDEA中...原创 2020-04-13 00:32:26 · 802 阅读 · 0 评论 -
如何使用IDEA中自带的数据库database!(详细操作图解)
对于数据库可视化工具有很多,有我们熟知的Navicat、SQLyog、DataGrip等等,其实DataGrip就是IDEA的公司捷克公司的产品,它是和IDEA通用的,只要你买了IDEA就可以使用它,我们无需下载。只要我们有IDEA就可以轻松使用数据库可视化工具了!那让我教你们怎么去使用吧!????首先打开IDEA页面,我们先添加database添加后我们就可以在这里打开了!添...原创 2020-03-30 20:27:11 · 81951 阅读 · 19 评论 -
idea:Server returns invalid timezone Go to 'Advanced' tab and set 'serverTimezone' property manually
当你用IDEA连接MySQL数据库时,出现异常如下图:原因: 服务器返回无效时区,转到“高级”选项卡并手动设置“serverTimezone”属性。解决:登录mysql,命令行窗口录入以下命令即可:show variables like ‘%time_zone%’;set global time_zone=’+8:00’;...原创 2020-03-30 19:23:39 · 2309 阅读 · 2 评论 -
【面试官】大白话回答面试官TCP三次握手、四次挥手,其实也是可以过滴!
面试官: 我看了你的简历,你了解TCP/UDP协议的是吧。那你说一下TCP的三次握手、四次挥手吧!白话文回答: 简单来说,客户端传送给服务器建立连接请求,在建立连接请求的同时客户端的发送能力也告知了服务器。服务器判断是否可以客户端创建连接,把服务器接收能力反馈给客户端。具体来说,握手是合作的意思,也就是为了保证安全的情况下建立连接的过程,那三次握手的作用我说一下:第一次握手,客户端发...原创 2020-03-22 20:58:39 · 5148 阅读 · 0 评论 -
TCP三次握手、四次挥手详细解读(动图详解)
背景描述通过上一篇中网络模型中的IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体...转载 2020-03-22 19:03:15 · 1164 阅读 · 0 评论 -
自定义@MyTest注解,手写@Test单元测试
关于注解,你了解多少?手写@Test注解你试过吗?目的:完成自定义注解@MyTest,并实现标有注解的方法并启动它!(模拟@Test注解做单元测试)步骤:新建一个注解类(annotation),命名为MyTest创建一个TestJunit单元测试类,写几个方法,比如:public void test1()创建一个MyTestDemo测试类(主功能实现类),该类主要利用反射机制来...原创 2020-04-16 14:02:15 · 1410 阅读 · 0 评论 -
Arrays.deepToString()解释和用法(返回指定数组“深层内容”的字符串表示形式)
deepToStringpublic static String deepToString(Object[] a)包位置: java.util.Arrays.deepToString()返回值: 返回指定数组“深层内容”的字符串表示形式。解释与用法: 如果数组包含作为元素的其他数组,则字符串表示形式包含其内容等。此方法是为了将多维数组转换字符串而设计的。字符串表现形式: 字符串表示形式...原创 2020-04-15 22:33:58 · 5822 阅读 · 0 评论 -
(多线程、IO流、网络编程、properties集合)好玩的网络编程交互实现服务器端【ServerSocket】和客户端【Socket】的注册与登录功能
基于TCP的网络编程综合案例,结合了服务器端和客户端的交互和数据传输思想Socket编程:Socket(套接字)是网络中的一个通信节点分为客户端(Socket)与服务端(ServerSocket)通信要求: IP地址 + 端口号开发步骤建立通信连接(会话):创建ServerSocket,指定端口号调用accept等待客户端接入客户端请求服务器:创建Sock...原创 2020-03-19 21:56:25 · 650 阅读 · 0 评论 -
让我们来了解一下JVM中垃圾回收机制的工作原理与思想吧!
此博文内容摘自《java编程思想》,我精选出来的片段并加以添加、修改,做以记录,以便翻看!如果有建议或者需要添加内容,请联系我,我将虚心赐教!不喜勿喷!谢谢~ 垃圾回收机制用到了finalize()方法,并加以概述当对象被判定为垃圾对象时,由JVM自动调用此方法,用以标记垃圾对象垃圾对象:没有有效引用指向此对象时,为垃圾对象垃圾回收:由GC销毁垃圾对象,释放数据...原创 2020-03-10 13:59:09 · 397 阅读 · 0 评论 -
range()方法的使用以及如何导入import static net.mindview.util.Range.*;包
我在看Java编程思想的时候,大概在多少的页的时候我在一个例题ForEachInt.java发现了一个round()方法,他可以自动创建恰当的数组。(而且我看见后面书中很多例子都引入了这个包)于是我本着好奇的心理去试了试,查了写资料。发现在eclipse中导包是一个问题,于是找到了解决办法。并记录一下!round()方法作用自动生成恰当的数组,重载了拥有3个不同参数数量的方法,如下:range...原创 2020-03-08 15:55:14 · 1180 阅读 · 0 评论 -
Java中Math.round()方法
最近我也在看一些书籍,发现了好多不知道的方法和用法,所以才给大家分享出来,顺便做一个小总结!先介绍这个方法Math.round()Java中的Math.round()方法是将浮点型进行“四舍五入”转换为int类型的一个方法(不含小数点.0)!但是它的“四舍五入”方式有点特别,区别于保留两位小数的四舍五入!而Math.round()方法是在java.lang包下,所以我们也无需导包!这...原创 2020-03-08 13:43:00 · 19470 阅读 · 2 评论 -
Java按位运算符(&、|、~、^)和移位运算符(>>)介绍和用法
二进制数表现形式称为“有符号的二进制补码和反码”按位运算符按位运算符用来操作整数基本数据类型中的单个“比特(bit)”,即二进制。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。&:如果两个输入位都是1,则按位“与”操作符(&)生成一个输出位1;否则生成一个输出位0| :如果两个输入位里只有一个是1,则按位“或”操作符( | )生成一个输出位1...原创 2020-03-08 10:01:53 · 615 阅读 · 0 评论 -
Java怎么保留两位小数(format、BigDecimal、DecimalFormat)
关于Java怎么保留两位小数一、打印时调用String类的format方法进行设置保留位数(方便简洁)二、创建DecimalFormat对象来实现打印保留位数后的数字(比第二个多创建一个对象)三、创建BigDecimal对象进行运算后,设置保留位数。(此方法感觉不太实用) 一、String.formatdouble d1 = 6.6666;doubl...原创 2020-03-05 20:19:38 · 22602 阅读 · 0 评论 -
将String字符串转化为int
将String字符串转化为int类型需要使用 Integer 类中的 parseInt() 方法或者 valueOf() 方法进行转换!1、String str = "123456";//str --> intint i1 = Integer.parseInt(str);System.out.println(i1);2、String str = "123456";int i...原创 2020-03-03 19:26:08 · 11686 阅读 · 0 评论 -
next与nextLine的区别
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。简单地说,next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串&n...原创 2020-03-03 19:09:24 · 302 阅读 · 0 评论 -
String类方法集合(charAt、contains、endWith、IndexOf、lastIndexOf、length、replace、split、toCharArray、trim等等)
方法目录根据下标获取字符public char charAt(int index)判断当前字符串中是否包含strpublic boolean contains(String str)将字符串转换成数组public char[] toCharArray()查找str首次出现的下标,存在,则返回该下标;不存在,则返回-1public int indexOf(St...原创 2020-03-02 20:46:13 · 960 阅读 · 0 评论 -
什么是OOP?怎么去认识对象,理解对象?(面向对象的认识理解和特点)
最近我也在读一些书籍,如果见到有价值的我将记录在此,并分享给大家! OOP全称Object Oriented Programming,即为面向对象程序设计。它是一种计算机编程架构。 OO...原创 2020-02-29 22:17:45 · 2418 阅读 · 0 评论 -
成员内部类、局部内部类、静态内部类和匿名内部类详解和区别
细节全在注释里!成员内部类/** * @author Ziph* @date 2020年2月28日* @Email mylifes1110@163.com* * 打印结果:* This is OuterClassMethod* 111* 222* This is InnerClassMethod* 222*///成员内部类public class TestInst...原创 2020-02-28 22:53:41 · 708 阅读 · 0 评论 -
equals与==的区别、重写jdk中equals方法和应用场景,教你如何轻松记忆!
让我们来一起轻松区分==和equals的比较!== 的概念比较的是变量(栈)内存中存放对象(堆)的地址,用来判断两个两个对象的地址是否相同,也就是说是否指向同一个对象(听起来也许比较晦涩难懂,但是我下面用通俗易懂的说法来给大家解释!)简单来说,== 就是比较的地址是否相同用于比较创建也就是实例化的对象地址,且必须是同一类型比较的结果是true或false还可用于比较两端的变量都代...原创 2020-02-28 21:27:29 · 525 阅读 · 4 评论 -
Java计算花费时间的模板设计模式
比较和查看前台、后台、以及查询的耗时总结:Java比较代码的执行耗时方法简单的计算花费时间的模板设计模式如下://模板方法设计模式public class TestTemplate { public static void main(String[] args) { new SubTemplate().spendTime(); }}abstract ...原创 2020-02-22 23:42:56 · 418 阅读 · 0 评论 -
Java静态域与静态方法
Java 中被static 修饰的域或方法常被称作静态的,那么什么叫做静态的呢?下面我们就来了解一下Java中的静态域与静态方法。1、静态域 如果将静态域定义为static ,那么每个类中只有一个这样的域,而每一个对象对于所有的实例域都有自己的一份拷贝本。例如,学生类中有一个实例域studentId和一个静态域nextId, ...转载 2020-02-22 23:28:24 · 349 阅读 · 0 评论 -
【Java】所有修饰符总结public、protected、private、default、static、final、abstract等一定和否定的判断以及修饰符联用能否共存,教你如何轻松判断!
大家好,我是Ziph!由于所学的很多修饰符联用来修饰属性方法的问题,我做一个简单的修饰符总结,还拿出修饰符联用修饰方法和属性为什么不能修饰的例子来给大家一个便于记忆的方法和窍门! 一定要看三个修饰符的总结,真香警告!四大权限修饰符public(公开的)说起公开的,就像所说的一样,当public修饰类、成员、方法时,它是对外公开的,在任何地方都可以被调用(开放派)private(...原创 2020-02-22 23:11:32 · 1678 阅读 · 0 评论 -
Java比较代码的执行耗时方法
Java简单的计算花费时间的模板设计模式时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。后台执行的耗时(需要的单位自己换算吧!)单位:分钟long totalMinutes = totalSeconds / 60;或long currentMinute = totalMinutes % 60;...原创 2020-02-21 16:58:54 · 1266 阅读 · 0 评论 -
数组和ArrayList的区别和应用场景的选择
大家都知道数组时属于线性表结构的,很好理解的是线性表就像一条线一样的结构。每个线性表上的数据最多只有前、后两个方向。而除了数组,链表、队列、栈等也是线性表。那么与它对立的概念就是非线性表了,比如:二叉树、堆、图等。之所以叫非线性,是因为,在非线性表中,数据之间并不是简答的前后关系。那么我们接下来谈谈数组与ArrayList应用场景的选择。数组是用于储存多个相同类型数据的集合。ArrayLi...原创 2020-02-16 22:34:30 · 1552 阅读 · 0 评论 -
(File类、字节流、桥转换流、字符流)从命令行中读入一个文件名,判断该文件是否存在。如果该文件存在,则在原文件相同路径下创建一个文 件名为“copy_原文件名”的新文件,该文件内容为原文件的拷贝
题目(综合)从命令行中读入一个文件名,判断该文件是否存在。如果该文件存在,则在原文件相同路径下创建一个文件名为“copy_原文件名”的新文件,该文件内容为原文件的拷贝。例如:读入/home/java/photo.jpg则创建一个文件/home/java/copy_photo.jpg新文件内容和原文件内容相同。...原创 2020-03-18 11:03:00 · 2385 阅读 · 0 评论 -
(字节流, Buffered Reader,HashMap)读入该文件的基础上,让用户输入一个年份,输出该年的世界杯冠军。如果该年没有举办世界杯
题目(字节流, Buffered Reader)完成下面操作在当前目录下创建一个 worldcup. txt的文本文件,其格式如下2006/意大利2002/巴西该文件采用“年份/世界杯冠军”的方式保存每一年世界杯冠军的信息。要求:读入该文件的基础上,让用户输入一个年份,输出该年的世界杯冠军。如果该年没有举办世界杯,则输出“没有举办世界杯import java.io.*;i...原创 2020-03-17 22:22:40 · 969 阅读 · 0 评论 -
(字符流、桥转换流、字节流)IO流练习
题目import java.io.*;import java.util.ArrayList;import java.util.List;public class TestDemo { public static void main(String[] args) throws IOException { BufferedReader br = null; List<St...原创 2020-03-17 21:38:28 · 481 阅读 · 0 评论 -
(File类、递归)Java写一个查找盘符内指定文件的代码,你可以试试!
我挑选出来我的D盘来查找一下D盘的文件,里面的代码文件不多(其他盘多,举例子就看这个吧!),里面有我写了很多的代码文件(.java),现在我们去查一下,编译后的.class文件有多少?如何去遍历D盘内所有的.class文件?又怎么把其他文件过滤掉呢?利用File类的知识,写一段小程序!import java.io.File;import java.io.FileFilter;//遍...原创 2020-03-17 19:03:20 · 670 阅读 · 0 评论 -
利用IO输入、输出流来复制图片,你试过吗?
将桌面的图片利用IO流字节输入输出,将图片复制到根目录下!举个栗子,我复制的是这个图片:那么看一下图片大小!(注意:字节数!)import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;public class TestFileIO { publi...原创 2020-03-16 19:54:28 · 871 阅读 · 0 评论 -
HashMap根据value获取key值
Map集合的特性:一个key值对应一个value值,key值保持着唯一性,而插入的键值对相同key值会发生覆盖原key值对应的value值。Map集合中一个key对应一个value,但是一个相同的value值可以对应多个key值下面我们来根据value获取key,根据key获取value(1.foreach循环遍历 2.迭代器遍历)举一个例子会更生动!题目创建一个Map集合,在集合中...原创 2020-03-07 09:56:18 · 3806 阅读 · 0 评论 -
给定一个字符串,请输出这个字符串由哪些字符组成,出现过多少次(统计字符串每个字符出现的次数)
有两种方法可以解决一种是利用HashMap解决另一种是利用ASCII编码进行转换存储在数组中打印出来ASCII解决的方案我就不写了,参照下面文章吧!如果这一块你掌握的不是太好,这几道练习题会对你有帮助的!给定一个由数字组成的字符串,统计每个数字出现的次数给定一个长度,随机产生一个该长度的字符串,由大写小写字母以及数字组成 Java中随机数的生成题目给定一个字符串,请输出这个字符串由...原创 2020-03-06 23:37:19 · 3063 阅读 · 1 评论 -
给定一个长度,随机产生一个该长度的字符串,由大写小写字母以及数字组成 Java中随机数的生成
题目给定一个长度,随机产生一个该长度的字符串,由大写小写字母以及数字组成Java中随机数的生成(提示:生成int值,并将int值转换成ASc编码对应一个字符。)思路:找到ASCII编码中的0、9、A、Z、a、z的ASCII编码值(分别为48、57、65、90、97、122),用这些值来制约你获取的随机数!见注释详解!import java.util.Random;/** * @au...原创 2020-03-05 23:42:29 · 3102 阅读 · 5 评论 -
(String)给定一个字符串判断该字符串中是否包含某个子串如果包含求出子串的所有出现位置,注:字符串和子串均由用户输入
题目(String)给定一个字符串判断该字符串中是否包含某个子串如果包含求出子串的所有出现位置 如:"abcd23abc34bcd"中,"bc"子串的出现位置为:1,7,11。字符串和子串均由用户输入import java.util.Scanner;/** * @author Ziph* @date 2020年3月5日* @Email mylifes1110@163.com*/p...原创 2020-03-05 19:16:15 · 4297 阅读 · 0 评论 -
给定一个由数字组成的字符串,统计每个数字出现的次数
关于String类的API的使用这个解决方法有桶排序算法的解决思想!Java桶排序题目给定一个由数字组成的字符串, 如:“12395868332487238498878721878383426777092”;统计出每个数字出现的次数/** * @author Ziph* @date 2020年3月3日* @Email mylifes1110@163.com*/public...原创 2020-03-04 10:16:10 · 3742 阅读 · 0 评论