![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
t0hka
这个作者很懒,什么都没留下…
展开
-
根据其他线程返回值继续执行当前线程
import java.util.concurrent.FutureTask;public class Test { public static void main(String[] args) throws Exception { String a = "a"; Thread thread = Thread.currentThread(); System.out.println("主线程"+thread); FutureT.原创 2020-06-28 12:45:03 · 157 阅读 · 0 评论 -
从集合中取出某些属性组成新的集合的几种方法
从集合中取出某些属性组成新的集合的几种方法比如我们有一个装有学生类的集合,我们想获得所有学生的姓名组成的一个新的集合1,准备工作为了进行测试,首先,我们需要定义一个实体类package com.me;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic class Stude原创 2020-05-31 22:16:06 · 6278 阅读 · 0 评论 -
Git安装教程
Git安装手册下载安装Git(Git安装包)一、下载安装Git1、下载Git 官方地址为:https://git-scm.com/download/win2、下载完之后,双击安装3、选择安装目录4、选择组件5、开始菜单目录名设置6、选择使用命令行环境7、以下三步默认,直接点击下一步...原创 2020-05-01 20:11:29 · 128 阅读 · 0 评论 -
一张表无法搞定时可以选择的三种方案
一张表无法搞定时可以选择的三种方案1,读写分离2,分库分表3,NoSQL/NewSQL原创 2020-04-20 20:04:38 · 113 阅读 · 0 评论 -
JDBC高级和DbUtils
JDBC高级和DbUtils1. BaseDao方法补充1.1 为什么要提供该方法 完成一个查询返回值类型是Object[],并且是存储于List集合中的一种方式,实际返回值类型是 List<Object[]> 处理的是查询数据结果无法映射到类对象中,ORM,所有的数据按照查询结果字段顺序要求从数据库读取数据保存到Object数组,为了能满足多行数据查询要求,Object数组存...原创 2020-03-25 17:46:59 · 902 阅读 · 11 评论 -
JDBC高级
JDBC高级1. Statement操作SQL语句1.1 Statement查询SQL数据操作// 查询指定的一个数据行,转换成对应的User对象@Testpublic void testSelectOne() { ResultSet resultSet = null; Statement statement = null; Connection connecti...原创 2020-03-24 23:05:34 · 75 阅读 · 0 评论 -
JDBC初识
JDBC1. JDBC介绍 Java Database Connectivity Java规定的数据库连接接口,SUN公司提供的,为了简化程序员操作数据库的过程。 SUN公司要求数据库提供商,按照JDBC API接口规范,完成对应Java程序的数据连接操作,规范Jar包,并且提供对应的操作方法。 JDBC接口中核心的内容 java.sql.* javax.sql.*2. ...原创 2020-03-23 18:25:25 · 106 阅读 · 10 评论 -
BIO+多线程实现TCP简单示例
BIO+多线程实现TCP简单示例服务端package test001;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class Server { public static void main(String[] args) throws IOExce...原创 2020-03-22 23:27:39 · 209 阅读 · 0 评论 -
总结7
原创 2020-03-21 21:06:01 · 83 阅读 · 3 评论 -
MySQL入门教程完整版
文章目录MySQL1. 为什么要使用数据库2. 什么是数据库3. 数据库管理系统4. MySQL4.1 MySQL历史简介4.2 MySQL获取和安装【详见】 Windows下安装MySQL5.75. SQL5.1 SQL语句概述5.2 MySQL基本操作6. MySQL开发工具使用7. 查询语句【重点】DQL7.1 基本格式7.1.1 基本查询,字段表名7.1.2 查询结果字段进行数据计算7.1...原创 2020-03-20 21:11:44 · 893 阅读 · 0 评论 -
MySQL初识
MySQL初识1. 为什么要使用数据库 Java程序在运行的过程中对于数据进行存储操作,变量,对象,数组,集合,双边队列...数据是保存到内存中,数据存储是瞬时的,程序退出,电脑异常。都会导致数据丢失并且不可逆。 文件存储数据,XML,JSON,其他文件。可操作性比较差,API繁琐,不同的文件有不同的解析方式,而且在内存占用和效率问题上很难达到两全程度。 存在的一些问题: 1. 文件保...原创 2020-03-19 19:44:38 · 108 阅读 · 8 评论 -
TCP服务器和客户端学生管理系统功能分析
TCP服务器和客户端学生管理系统1. 服务器功能分析1.1 数据处理模块1. 验证用户登陆2. 完成最基本的增删改查功能3. 考虑锁操作1.2 数据存储模块1. JSON文件格式存储和读取2. 定时更新操作1.3 数据传输模块1. 发送JSON格式数据到客户端2. 接收客户端发送请求和数据2. 客户端功能分析2.1 登陆模块1. 登陆请求模块验证用户名和密码2....原创 2020-03-17 20:39:38 · 287 阅读 · 10 评论 -
NIO实现网络聊天室
NIO实现网络聊天室1. NIO完成网络编程1.1 Selector选择器老大Selector 选择器,网络编程使用NIO的大哥!!! 服务器可以执行一个线程,运行Selector程序,进行监听操作。 新连接, 已经连接, 读取数据,写入数据Selector常用方法: public static Selector Open(); 得到一个选择器对象 public int s...原创 2020-03-16 23:59:35 · 81 阅读 · 1 评论 -
第六周学习内容
原创 2020-03-14 23:42:51 · 109 阅读 · 4 评论 -
单例模式和NIO
单例模式和NIO1. 单例模式1.1 要求 当前类有且只有一个对象,一旦当前类存在一个对象之后,无法在重新创建当前类的对象。就算是你要创建,代码返回的对象依然是上一次创建的对象。 懒汉模式,饿汉模式 1.2 单例模式推导【懒汉】package com.qfedu.a_single;import java.util.concurrent.locks.Lock;import jav...原创 2020-03-13 22:10:31 · 98 阅读 · 0 评论 -
Stream和方法引用
Stream和方法引用1. Stream流1.1. Stream流引入 Stream流完全不是I/O流,按照流水线处理方式来考虑代码中的思想。 JDK1.8 之后,我们拥有了Lambda表达式,让代码的中心偏向解决实际问题,直到重点,可以提高效率。 Stream流中使用了大量Lambda表达式,利用Lambda操作方式,提供开发效率1.2 传统遍历方式和Stream类处理方式对比p...原创 2020-03-12 21:33:45 · 139 阅读 · 0 评论 -
函数式接口
函数式接口1. 函数式接口1.1 概述 如果说一个接口内有且只有一个方法,而且该方法是一个缺省属性为public abstract方法,该接口可以称之为是一个函数式接口。 自定义函数式接口,还有系统中提供的函数式接口 Comparator<T> Runnable 可以直接理解JDK1.8的新特征,Lambda表达式来使用。 Lambda表达式对比匿名内部类使用 ...原创 2020-03-11 20:16:19 · 97 阅读 · 7 评论 -
注解
注解1. 注解概述1.1 注解解释注释: 解释代码,给程序员看注解: Java语言中的类、方法、变量、参数和包等都可以被标注。和Javadoc不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java虚拟机可以保留标注内容,在运行时可以获取到标注内容。 当然它也支持自定义Java标注 JDK1.5之后的特征 用于说明程序 一般在框架中使...原创 2020-03-10 20:27:18 · 112 阅读 · 9 评论 -
TCP多人聊天室实现 JSON文件解析
TCP多人聊天室实现 JSON文件解析1. TCP多人聊天室实现1.1 分析客户端 功能: 1. 数据发送 2. 数据接收 技术: 1. socket 2. 输入流和输出流 3. 多线程,客户端功能模块有两个线程 聊天: 1. 群聊 2. 私聊 私聊前缀 @服务器用户ID号:msg 服务器 功能: 1. 数据转发 2. 用户注册 技术:...原创 2020-03-09 22:24:00 · 187 阅读 · 0 评论 -
知识梳理Week 5
原创 2020-03-08 21:31:33 · 95 阅读 · 5 评论 -
XML相关知识
XMLXML概述Extensible Markup Language可拓展标记语言用途: 1. 数据存储,小型数据库,存在一定的CRUD操作可行性 2. 网络端数据的传输 3. JavaWEB框架项目配置文件 Spring Druid ....w3c万维网联盟指定的规范基本语法1. XML文件后缀名是.xml2. XML第一行是对于当前文件的定义声明3. XML文...原创 2020-03-06 22:27:10 · 95 阅读 · 12 评论 -
反射初识
反射1. 反射概述1.1 Java文件和.class文件的关系Java文件 Java文件中包含代码的所有内容,类,接口,成员变量,成员方法.....class字节码问题 .java文件 通过 javac编译工具生成对应的.class字节码文件 使用JDK中提供的反编译工具,可以看到.class文件中包含 Class 完整的包名.类名 Field 成员变量,成员变量的名字和...原创 2020-03-05 20:11:55 · 74 阅读 · 2 评论 -
网络编程相关
网络编程1. 网络编程概述1.1 C/S和B/SC/S 客户端 服务器软件结构 服务提供商给予用户服务需要准备的内容 1. 各大平台的客户端 Android iOS PC Windows Linux macOS QQ 微信 淘宝 JD 剑与远征 2. 服务器提供服务 软件更新: LOL服务器版本更新,同时本地软件也要进行更新操作。这个操作非常耗时。 热更新...原创 2020-03-04 20:49:55 · 77 阅读 · 2 评论 -
多线程,线程通信,线程池和Lambda表达式
多线程,线程通信,线程池和Lambda表达式1. 多线程1.1 线程状态 WAITING(无限等待)当某一个线程被执行wait()方法,需要等待另外的一个线程进行唤醒操作。一下三个方法都是Object类内的方法: public void wait(); 在哪一个线程中执行,就会让当前线程进入一个无限等待状态。 1. 所在线程进入无限等待状态 2. 开启【锁对象】 ...原创 2020-03-03 19:58:28 · 93 阅读 · 7 评论 -
多线程,同步相关
多线程,同步1. 多线程1.1 多线程的优缺点优点 1. 提升资源利用率 2. 提高用户体验缺点: 1. 降低了其他线程的执行概率 2. 用户会感受到软件的卡顿问题 3. 增加的系统,资源压力 4. 多线程情况下的共享资源问题,线程冲突,线程安全问题1.2 创建自定义线程类的两种方式class Thread类 Java中的一个线程类 Thread类是Runnable...原创 2020-03-02 17:21:20 · 95 阅读 · 10 评论 -
IO流中关闭和刷新的区别
IO流中关闭和刷新的区别因为内置缓冲区的原因,如果不关闭输出流,无法写出字符到文件中,但是关闭的流对象,是无法继续写出数据的,如果我们既想写出数据,又想继续使用流,就需要使用flush方法了flush : 刷新缓冲区,流对象可以继续使用close : 先刷新缓冲区,然后通知系统释放资源,流对象不可以再被使用了示例package com.test0229;import ja...原创 2020-03-01 18:48:49 · 1073 阅读 · 5 评论 -
Java常用API
Java常用API1. StringBuffer1.1 StringBuffer概述 为了解决String字符串操作导致的内存冗余,提高效率,Java中提供了StringBuffer和StringBuilder来操作字符串,并且提供了很多方法,便于程序员开发。 StringBuffer和StringBuilder中都有char类型可变长数组作为字符串的保存空间。使用到的方法类型和Array...原创 2020-02-28 21:10:29 · 103 阅读 · 10 评论 -
字符输出流,缓冲流和序列化
字符输出流,缓冲流和序列化1. IO流1.1 文件操作字符输出流FileWriter文件操作输出字符流Constructor 构造方法 FileWriter(File file); 根据File类对象创建对应文件的文件操作输出字符流 FileWriter(String pathName); 根据String类型文件路径创建对应文件的文件操作输出字符流 FileWriter(...原创 2020-02-27 19:37:17 · 355 阅读 · 11 评论 -
String类和IO流
String类和IO流1. String类1.1 比较方式要求1.2 获取方法int length();![字符串比较要求](img/字符串比较要求.png) 获取字符串长度 "" char charAt(int index); 获取String字符串中指定下标位置的char类型字符,如果index超出有效范围 StringIndexOutOfBoundsExceptionin...原创 2020-02-26 18:15:29 · 196 阅读 · 14 评论 -
Map和File类
Map和File类1. Map双边队列1.1 什么是Map键(Key)值(Value)对 姓名 = 娘娘 性别 = 维多利亚 年龄 = 18表格: 姓名:骚磊 年龄:16 性别:男 程序开发大部分数据都是键值对形式的 MySQL JSON XML 类对象成员变量和存储的数据 从前端发送的数据也可以转成Map格式 ==> 一键生成 ==> 类对象 ==&g...原创 2020-02-25 17:25:57 · 244 阅读 · 4 评论 -
关于Set集合
1. Set集合1.1 Set集合概述特征: 无序,不可重复 无序:添加顺序和存储顺序不一致,【不代表有排序效果】 不可重复: 在一个Set集合中不能出现相同元素interface Set<E> --| class HashSet<E> 底层是哈希表存储数据--| class TreeSet<E> 底层存储数据是一个二叉树1.2 Has...原创 2020-02-24 20:08:21 · 468 阅读 · 18 评论 -
发红包案例
发红包案例一个简单的发红包的案例,里面用到了集合和继承,老板从自己余额拿出一些钱,给员工发红包,平均分给每个人一定的红包金额,如果金额不够平均分,就把平均分后剩余的钱加到最后一个红包中。需要用到的类有用户类(User类),老板类(Boss类),员工类(Member类),User类里有Boss类,Member类的共同属性和方法,Boss类负责发红包,Member类负责收红包。最后可以用主类测试结果...原创 2020-02-16 12:27:28 · 259 阅读 · 0 评论 -
一道代码块相关的面试题
有一道面试题是这样的public class Test003 { static Test003 test001 = new Test003(); static Test003 test002 = new Test003(); { System.out.println("构造代码块"); } static { System.out.println("静态代码块"); ...原创 2020-02-15 12:05:21 · 187 阅读 · 0 评论 -
二分法查找思路
二分法查找特征:1. 要求查询的数组必须是一个经过排序之后的数组2. 多个指定数据的情况下,无法告知到底是第几个数据出现3. 没有找到数据返回负数演示:1 3 5 7 9 11 13 15 17 19例如:查询元素 13的下标位置第一步:中间下标元素是 下标为4 元素值=9最小下标为0最大下标为99 < 13需要修改最小下标 ==> 中间下标 + 1 ==&...原创 2020-02-12 23:28:13 · 357 阅读 · 0 评论 -
选择排序法
选择排序法是一种常见的排序方法package com.hase;import java.util.Arrays;public class TestSort { public static void main(String[] args) { //定义数组arr int[] arr = {1,2,3,4,9,8,7}; //调用se...原创 2020-02-11 21:59:14 · 157 阅读 · 0 评论 -
一道关于String的面试题
一道关于String的面试题main(String[] args) {String str1 = "橙汁";str1 += "加上雪碧";str1 += "加上雪碧";str1 += "加上雪碧";str1 += "加上雪碧";str1 += "加上雪碧";System.out.println("这里面有几个字符串");}答案是12个,具体分析过程需要等以后整理后再更新...原创 2020-02-08 22:35:04 · 184 阅读 · 0 评论 -
Java中堆和栈有什么区别
详见https://www.php.cn/faq/416802.html转载 2020-01-29 11:40:00 · 104 阅读 · 0 评论 -
关于异常
什么是异常概念:程序在运行过程中出现的特殊情况异常处理的必要性:任何程序都可能存在大量的未知问题,错误;如果不对这些问题进行正确处理,则可能导致程序的中断,造成不必要的损失异常的分类Throwable :可抛出的,一切错误或异常的父类,位于java.lang包中 | - Error : JVM,硬件,执行逻辑错误,不能手动处理 | - Exception : 程序在运行...原创 2020-01-29 01:11:43 · 147 阅读 · 0 评论 -
关于String类
String类String字符串是常量,创建之后不可改变字符串字面值存储在字符串池中,可以共享String s = “Hello”;产生一个对象,字符串池中存储String s = new String(“Hello”); //产生两个对象,堆,池各存储一个package strings;public class TestString { public static ...原创 2020-01-26 21:55:57 · 712 阅读 · 0 评论 -
关于包装类
包装类基本数据类型所对应的的引用数据类型Object可统一所有数据,包装类的默认值是null包装类对应基本数据类型包装类型byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublebooleanBooleancharCharacter类型转换与装...原创 2020-01-23 22:47:26 · 84 阅读 · 0 评论