自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 按集合中某个属性值排序

Collator comparator = Collator.getInstance(Locale.ENGLISH);Collections.sort(list, (o1, o2) -> comparator.compare(o1.getName(), o2.getName()));

2021-01-14 11:51:06 403 1

原创 利用Java获取系统的编码

利用Java获取系统的编码System.getProperty(“file.encoding”);

2020-12-10 22:00:26 639

原创 流中的内容格式转换

流中的内容格式转换(UTF-8转GBK) public static InputStream transCharset(InputStream in) throws IOException { BufferedReader buf = null; OutputStreamWriter pw=null; String str = null; String allstr=""; //用于输入换行符的字节码

2020-12-10 21:58:24 106

原创 根据其他线程返回值继续执行当前线程

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 158

原创 从集合中取出某些属性组成新的集合的几种方法

从集合中取出某些属性组成新的集合的几种方法比如我们有一个装有学生类的集合,我们想获得所有学生的姓名组成的一个新的集合1,准备工作为了进行测试,首先,我们需要定义一个实体类package com.me;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructorpublic class Stude

2020-05-31 22:16:06 6373

原创 Git安装教程

Git安装手册下载安装Git(Git安装包)一、下载安装Git1、下载Git 官方地址为:https://git-scm.com/download/win2、下载完之后,双击安装3、选择安装目录4、选择组件5、开始菜单目录名设置6、选择使用命令行环境7、以下三步默认,直接点击下一步...

2020-05-01 20:11:29 133

原创 一张表无法搞定时可以选择的三种方案

一张表无法搞定时可以选择的三种方案1,读写分离2,分库分表3,NoSQL/NewSQL

2020-04-20 20:04:38 118

原创 JDBC高级和DbUtils

JDBC高级和DbUtils1. BaseDao方法补充1.1 为什么要提供该方法 完成一个查询返回值类型是Object[],并且是存储于List集合中的一种方式,实际返回值类型是 List<Object[]> 处理的是查询数据结果无法映射到类对象中,ORM,所有的数据按照查询结果字段顺序要求从数据库读取数据保存到Object数组,为了能满足多行数据查询要求,Object数组存...

2020-03-25 17:46:59 905 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 78

原创 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 108 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 212

原创 总结7

2020-03-21 21:06:01 86 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 900

原创 MySQL初识

MySQL初识1. 为什么要使用数据库 Java程序在运行的过程中对于数据进行存储操作,变量,对象,数组,集合,双边队列...数据是保存到内存中,数据存储是瞬时的,程序退出,电脑异常。都会导致数据丢失并且不可逆。 文件存储数据,XML,JSON,其他文件。可操作性比较差,API繁琐,不同的文件有不同的解析方式,而且在内存占用和效率问题上很难达到两全程度。 存在的一些问题: 1. 文件保...

2020-03-19 19:44:38 109 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 290 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 85 1

原创 第六周学习内容

2020-03-14 23:42:51 111 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 100

原创 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 145

原创 函数式接口

函数式接口1. 函数式接口1.1 概述 如果说一个接口内有且只有一个方法,而且该方法是一个缺省属性为public abstract方法,该接口可以称之为是一个函数式接口。 自定义函数式接口,还有系统中提供的函数式接口 Comparator<T> Runnable 可以直接理解JDK1.8的新特征,Lambda表达式来使用。 Lambda表达式对比匿名内部类使用 ...

2020-03-11 20:16:19 98 7

原创 注解

注解1. 注解概述1.1 注解解释注释: 解释代码,给程序员看注解: Java语言中的类、方法、变量、参数和包等都可以被标注。和Javadoc不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java虚拟机可以保留标注内容,在运行时可以获取到标注内容。 当然它也支持自定义Java标注 JDK1.5之后的特征 用于说明程序 一般在框架中使...

2020-03-10 20:27:18 115 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 188

原创 知识梳理Week 5

2020-03-08 21:31:33 97 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 97 12

原创 反射初识

反射1. 反射概述1.1 Java文件和.class文件的关系Java文件 Java文件中包含代码的所有内容,类,接口,成员变量,成员方法.....class字节码问题 .java文件 通过 javac编译工具生成对应的.class字节码文件 使用JDK中提供的反编译工具,可以看到.class文件中包含 Class 完整的包名.类名 Field 成员变量,成员变量的名字和...

2020-03-05 20:11:55 77 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 80 2

原创 多线程,线程通信,线程池和Lambda表达式

多线程,线程通信,线程池和Lambda表达式1. 多线程1.1 线程状态 WAITING(无限等待)当某一个线程被执行wait()方法,需要等待另外的一个线程进行唤醒操作。一下三个方法都是Object类内的方法: public void wait(); 在哪一个线程中执行,就会让当前线程进入一个无限等待状态。 1. 所在线程进入无限等待状态 2. 开启【锁对象】 ...

2020-03-03 19:58:28 95 7

原创 多线程,同步相关

多线程,同步1. 多线程1.1 多线程的优缺点优点 1. 提升资源利用率 2. 提高用户体验缺点: 1. 降低了其他线程的执行概率 2. 用户会感受到软件的卡顿问题 3. 增加的系统,资源压力 4. 多线程情况下的共享资源问题,线程冲突,线程安全问题1.2 创建自定义线程类的两种方式class Thread类 Java中的一个线程类 Thread类是Runnable...

2020-03-02 17:21:20 99 10

原创 IO流中关闭和刷新的区别

IO流中关闭和刷新的区别因为内置缓冲区的原因,如果不关闭输出流,无法写出字符到文件中,但是关闭的流对象,是无法继续写出数据的,如果我们既想写出数据,又想继续使用流,就需要使用flush方法了flush : 刷新缓冲区,流对象可以继续使用close : 先刷新缓冲区,然后通知系统释放资源,流对象不可以再被使用了示例package com.test0229;import ja...

2020-03-01 18:48:49 1082 5

原创 Java常用API

Java常用API1. StringBuffer1.1 StringBuffer概述 为了解决String字符串操作导致的内存冗余,提高效率,Java中提供了StringBuffer和StringBuilder来操作字符串,并且提供了很多方法,便于程序员开发。 StringBuffer和StringBuilder中都有char类型可变长数组作为字符串的保存空间。使用到的方法类型和Array...

2020-02-28 21:10:29 106 10

原创 字符输出流,缓冲流和序列化

字符输出流,缓冲流和序列化1. IO流1.1 文件操作字符输出流FileWriter文件操作输出字符流Constructor 构造方法 FileWriter(File file); 根据File类对象创建对应文件的文件操作输出字符流 FileWriter(String pathName); 根据String类型文件路径创建对应文件的文件操作输出字符流 FileWriter(...

2020-02-27 19:37:17 359 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 198 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 248 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 470 18

原创 发红包案例

发红包案例一个简单的发红包的案例,里面用到了集合和继承,老板从自己余额拿出一些钱,给员工发红包,平均分给每个人一定的红包金额,如果金额不够平均分,就把平均分后剩余的钱加到最后一个红包中。需要用到的类有用户类(User类),老板类(Boss类),员工类(Member类),User类里有Boss类,Member类的共同属性和方法,Boss类负责发红包,Member类负责收红包。最后可以用主类测试结果...

2020-02-16 12:27:28 262

原创 一道代码块相关的面试题

有一道面试题是这样的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 192

原创 二分法查找思路

二分法查找特征: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 358

原创 选择排序法

选择排序法是一种常见的排序方法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 160

原创 一道关于String的面试题

一道关于String的面试题main(String[] args) {String str1 = "橙汁";str1 += "加上雪碧";str1 += "加上雪碧";str1 += "加上雪碧";str1 += "加上雪碧";str1 += "加上雪碧";System.out.println("这里面有几个字符串");}答案是12个,具体分析过程需要等以后整理后再更新...

2020-02-08 22:35:04 185

转载 Java中堆和栈有什么区别

详见https://www.php.cn/faq/416802.html

2020-01-29 11:40:00 108

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除