JAVA
文章平均质量分 84
未来影子
曾先后在百度、理想、快手参与研发工作
后端、大数据、NLP学习者
展开
-
JAVA并发编程直击面试
Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过 Thread 类的 start()实例方法start()方法是一个 native 方法,它将启动一个新线程,并执行 run()方法实现Runnable接口当自己的类已经extends 另一个类,就无法直接 extends Thread,此时,可以实现一个 Runnable 接口ExecutorService、Callable、Future 有返回值线程有返回值的任务必须实现Callabl原创 2022-06-01 11:27:53 · 104 阅读 · 0 评论 -
Java8新特性
文章目录1.Java8新特性概述2.Lambda表达式3.函数式接口4.方法引用5.构造器引用与数组引用6.Stream API7.Optional类的使用1.Java8新特性概述2.Lambda表达式2.1 Lambda表达式使用前后的对比:举例一:@Testpublic void test1(){ Runnable r1 = new Runnable() { @Override public void run() { Sy原创 2021-12-24 17:57:55 · 136 阅读 · 0 评论 -
Java 反射机制
文章目录1.反射的概述2.Class类的理解与获取Class的实例3.了解ClassLoader4.反射应用一:创建运行时类的对象5.反射应用二:获取运行时类的完整结果6.反射应用三:调用运行时类的完整结构7.反射应用四:动态代理1.反射的概述1.1 主要内容1.2 关于反射的理解Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。框架 = 反射 + 注解 + 设计模式1.3原创 2021-12-23 11:58:24 · 82 阅读 · 0 评论 -
JAVA——网络编程
文章目录1.InetAddress类的使用1.1 实现网络通信需要解决的问题1.2 网络通信的两个要素1.3通信要素一:IP和端口号1.3.1 IP的理解1.3.2 InetAddress类:此类的一个对象就代表着一个具体的IP地址1.3.3 端口号:正在计算机上运行的进程1.4 通信要素二:网络通信协议1.4.1分析模型1.4.2 TCP和UDP的区别1.4.3 TCP三次握手和四次挥手2.TCO网络编程3.UDP网络编程4.URL编程4.1 URL(Uniform Resource Locator)的理原创 2021-12-21 12:01:11 · 83 阅读 · 0 评论 -
Java IO流
文章目录1.File类的使用1.1 File类的理解1.2 File的实例化1.2.1 常用构造器1.2.2 路径的分类1.2.3 路径分隔符1.3File类的常用方法2.IO流概述2.1流的分类2.2流的体系结构2.3重点说明的几个流结构2.4 输入、输出的标准化过程2.4.1 输入过程2.4.2输出过程3.节点流(或文件流)3.1 FileReader/FileWriter的使用3.1.1 FileReader的使用3.1.2 FileWriter的使用3.1.3 文本文件的复制:3.2 FileInp原创 2021-12-20 18:41:13 · 468 阅读 · 0 评论 -
获取文本上字符出现的次数,把数据写入文件
/** * @author 影子 * @create 2021-12-19-11:49 * * * 练习3:获取文本上字符出现的次数,把数据写入文件 * * * * 思路: * * 1.遍历文本每一个字符 * * 2.字符出现的次数存在Map中 * * * * Map<Character,Integer> map = new HashMap<Character,Integer>(); * * map.put('a',18); * * map.原创 2021-12-19 12:08:28 · 71 阅读 · 0 评论 -
Java泛型
文章目录1.泛型的理解1.1 泛型的概念1.2泛型的引入背景2.泛型在集合的使用2.1 在集合中使用泛型之前的例子2.2 在集合中使用泛型例子12.3 在集合中使用泛型的例子22.4 集合中使用泛型总结:3.自定义泛型类、泛型接口、泛型方法3.1 举例:3.2 注意点:3.3 应用场景举例:4.泛型在继承上的体现5.通配符5.1 通配符的使用5.2 有限制条件的通配符的使用1.泛型的理解1.1 泛型的概念所谓泛型,就是运行在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类原创 2021-12-14 17:36:10 · 233 阅读 · 0 评论 -
Java集合
文章目录1.数组与集合1.1 集合与数组存储数据概述:1.2 数组存储的特点:1.3 数组存储的弊端:1.4 集合存储的优点:2.Collection接口2.1 单列集合框架结构2.2 Colletion接口常用方法:2.3 Collection集合与数组间的转换2.4 使用Colletion集合存储对象,要求对象所属的类满足:3.Iterator接口与foreach循环3.1 遍历Collection的两种方式:3.2 java.utils包下定义的迭代器接口:Iterator3.3 JDK5.0新特性原创 2021-12-13 21:44:40 · 90 阅读 · 0 评论 -
枚举类和注解
文章目录1.枚举类的使用1.1 枚举类的说明1.2 如何自定义枚举类?步骤:1.3 JDK5.0新增使用enum定义枚举类。步骤:1.4 使用enum定义枚举类之后,枚举类常用方法:(继承于java.lang.Enum类)1.5 使用enum定义枚举类之后,如何让枚举类对象分别实现接口:2.注解的使用2.1 注解的理解2.2 注解的使用示例2.3 如何自定义注解:2.4 元注解:对现有的注解进行解释说明的注解。2.5 如何获取注解信息:通过发射来进行获取、调用2.6 JDK8中注解的新特性:可重复注解、类型原创 2021-12-09 12:06:41 · 63 阅读 · 0 评论 -
Java常用类
文章目录1.String类1.1 概述1.2 String的不可变性1.3 String实例化的不同方式1.4 字符串拼接方式赋值的对比1.5 常用方法1.6 String与其他结构的转换2.StringBuffer、StringBuilder2.1 String、StringBuffer、StringBuilder三者的对比2.2 StringBuffer与StringBuilder的内存解析2.3 对比String、StringBuffer、StringBuilder三者的执行效率2.4 StringB原创 2021-12-08 17:05:01 · 56 阅读 · 0 评论 -
Java多线程
文章目录1.程序、进程、线程的理解1.1 程序(programm)1.2 进程(process)1.3 线程(thread)2.并行与并发2.1 单核CPU与多核CPU的理解2.2 并行与并发的理解3.创建多线程的两种方式3.1 继承Thread类的方式:3.2 实现Runnable接口的方式:3.3 两种方式的对比:4.Thread类中的常用的方法:4.1 方法4.2线程的优先级:5.Thread的生命周期6.线程的同步机制6.1 背景6.2 Java解决方案:同步机制方法一:同步代码块方法二:同步方法方原创 2021-12-06 22:58:17 · 92 阅读 · 0 评论 -
基于JAVA实现的客户信息管理软件(简易)
文章目录1.前期介绍2.1 Customer类的设计2.2 CustomerList类的设计2.3 CustomerView类的设计3.1 映入的CMUtitllity类4. 结果显示1.前期介绍2.1 Customer类的设计public class Customer { private String name; //客户姓名 private char gender; //性别 private int age; //年龄 private String phone; /原创 2021-11-19 11:51:59 · 152 阅读 · 0 评论 -
第七章7.8示例学习:统计每个字母出现的次数
随机生成100个小写字母并将其放入一个字符数组中。对数组中每个字母出现的次数进行计数。public class CountLetterInarray { public static void main(String[] args) { // Declare and create an array char[] chars = createArray(); //Display the array System.out.println("The lowercase letter.原创 2020-11-20 23:05:01 · 1089 阅读 · 0 评论 -
6.5(对三个数进行排序)
使用下面的方法头编写方法,按升序显示三个数:public static void displaySortedNumbers(double num1,double num2,double num3)编写测试程序,提示用户输入三个数字,调用方法以升序显示他们import java.util.Scanner;public class Question_six_6 { public static void main(String[] args) { // TODO Auto-generated m原创 2020-11-20 16:11:05 · 1055 阅读 · 0 评论 -
6.4(反向显示一个整数)
使用下面的方法头编写方法,反向显示一个整数:public static void reverse(int number)例如:reverse(3456)返回6543。编写一个测试程序,提示用户输入一个整数,然后显示它的反向数。import java.util.Scanner;public class Question_six_4 { public static void main(String[] args) { // TODO Auto-generated method stub S原创 2020-11-20 15:55:22 · 1176 阅读 · 0 评论 -
6.3(回文整数)
用下面的方法头编写两个方法:public static int reverse(int number)public static boolean isParlindrome(int number)使用reverse方法实现isPalindrome。如果一个数字的反向倒置和它的顺向数一样,这个数就称作回文数。编写一个测试程序,提示用户输入一个整数值,然后报告这个整数是否是同文数import java.util.Scanner;public class Question_six_3 { publ原创 2020-11-20 15:45:54 · 1141 阅读 · 0 评论 -
6.2(求一个整数各位数字之和)
计算一个整数各位数字之和。使用下面的方法头:public static int sumDigits(long n)例如:sumDigits(234)返回9(2+3+4)编写程序提示用户输入一个整数,然后显示这个整数所有数字之和import java.util.Scanner;public class Question_six_2 { public static void main(String[] args) { // TODO Auto-generated method stub原创 2020-11-20 15:12:55 · 1403 阅读 · 0 评论 -
6.1(数学:五角数)
一个五角数被定义为n(3n-1)/2,其中n=1,2…。所以开始的几个数字就是1,5,12,22,…,编写下面的方法返回一个五角数:public static int getPentagonalNumber(int n)编写一个测试程序显示前100个五角数,每行显示10;public class Question_six_1 { public static void main(String[] args) { // TODO Auto-generated method stub Stri原创 2020-11-20 14:58:01 · 1099 阅读 · 0 评论 -
5.7(财务应用程序:计算将来的程序)
假设今年某大学的学费为10000美元,学费的年增长率为5%。一年后,学费是10500美元。编写程序,计算10年后的学费,以及从现在开始的10年后算起,4年内总学费是多少?public class Question_Five_7 { public static void main(String[] args) { // TODO Auto-generated method stub double price=10000,rate=0.05,total4=0; for(int i=1;i&l原创 2020-11-18 17:14:23 · 483 阅读 · 0 评论 -
5.6(英里与千米之间的互换)
public class Question_Five_6 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.printf("%s%20s%20s%15s\n", "Miles", "Kilometers", "Kilometers", "Miles"); int i, j; for(i = 1, j = 20;i <= 10 &a.原创 2020-11-18 17:04:21 · 499 阅读 · 0 评论 -
5.5(千克与磅之间的互换)
public class Question_Five_5 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.printf("%s%15s%15s%21s\n","Kilograms","Pounds","Pounds","Kilograms"); for(int i=1,j=20;i<=199 && j<=515;i+=2,j+=5).原创 2020-11-18 17:01:37 · 452 阅读 · 0 评论 -
5.4(将英里转化位千米)
一英里为1.609千米public class Question_Five_4 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.printf("%s%24s\n","Miles","Kilometers"); for(int i=1;i<=10;i++) { System.out.printf("%-3d%26.3f\n",i,i*1.609);原创 2020-11-18 16:55:08 · 299 阅读 · 0 评论 -
5.3(将千克转换成磅)
一千克为2.2磅public class Question_Five_3 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("千克 磅"); for(int i=1;i<200;i=i+2) { System.out.printf("%d %10.1f\n",i,i*2.2); } }}...原创 2020-11-18 16:41:11 · 789 阅读 · 0 评论 -
5.2(重复加法)
产生10个随机加法问题,加数是1到15之间的整数。显示正确答案的个数和测验时间。import java.util.Scanner;public class Question_Five_2 { public static void main(String[] args) { // TODO Auto-generated method stub int number_of_questions = 10; int correctCount = 0; int count = 0; lo原创 2020-11-18 16:09:57 · 246 阅读 · 0 评论 -
5.1(统计正数和负数的个数然后计算这些数的平均值)
编写程序,读入未指定个数的整数,判断的正数有多少个,读入的负数有多少个,然后计算这些输入值的总和及其平均值(不对0计数)。当输入为0时,表明程序结束。将平均值以浮点数显示。import java.util.Scanner;public class Question_Five_1 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input=new Scanner(Sys原创 2020-11-18 15:41:46 · 1858 阅读 · 0 评论 -
JAVA语言程序设计(基础篇)第四章——课后习题解
在这里,我选择了几个知识点涉及稍微较多的课后习题进行求解(若有错误,欢迎斧正)文章目录4.1(几何:五边形的面积)4.2(最大圆距离)4.5(几何:正多边形的面积)4.6(圆上的随机点)4.7(顶点坐标)4.8(给出ASCII码对应的字符)4.9(给出字符的Unicode码)4.10(猜测生日)4.12(十六进制转二进制)4.15(电话键盘)4.17(一个月中的日期)4.18(学生的专业和状况)4.21(检查SSN)4.23(财务应用:酬金)4.25(生成车牌号码)4.1(几何:五边形的面积)impo原创 2020-11-17 20:59:35 · 2696 阅读 · 3 评论 -
JAVA语言程序设计(基础篇)——第四章例题
随机产生一个随机的两位数字,提示用户输入一个两位数字,根据以下规则确定用户是否中彩票:如果用户输入的数字完全匹配彩票中的数字,奖金为10000美元。如果用户输入的所有数字匹配彩票中的所有数字,奖金为3000美元。如果用户输入的一个数字匹配彩票中的一个数字,奖金为1000美元。import java.util.Scanner;public class LotteryUsingStrings { public static void main(String[] args) { // Ge原创 2020-11-17 11:01:10 · 130 阅读 · 0 评论 -
JAVA语言程序设计(基础篇)——第四章例题
将十六进制数转化为十进制数:十六进制计数系统有16个数字:0 ~ 9,A~F。字母A、B、C、D、E、F对应10-15第一个程序,提示用户输入单个十六进制数字,显示它对应的十进制数:import java.util.Scanner;public class HexDigit2Dec { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input =new Scanne原创 2020-11-16 13:24:35 · 496 阅读 · 0 评论 -
JAVA语言程序设计(基础篇)——第四章例题
猜测生日的游戏:通过询问朋友5个问题,即可知道他出生在一个月的哪一天。import java.util.Scanner;public class GuessBirthday { public static void main(String[] args) { // TODO Auto-generated method stub String set1="1 3 5 7\n"+"9 11 13 15\n"+"17 19 21 23\n"+"25 27 29 31"; String原创 2020-11-16 11:57:13 · 147 阅读 · 0 评论