
Java
七楼、
哟,在写bug呢
展开
-
java8 Date与LocalDataTiem工具类
java日期时间工具类原创 2022-08-10 11:01:16 · 286 阅读 · 0 评论 -
Collection,Map与String互相转换
集合,Map与String互相转换原创 2022-08-04 17:33:50 · 1222 阅读 · 0 评论 -
ReentrantReadWriteLock读锁作用
为什么要有读锁原创 2022-08-02 15:38:41 · 360 阅读 · 0 评论 -
集合排序 List.sort
集合排序原创 2022-07-29 15:46:07 · 727 阅读 · 0 评论 -
苹果内购 订单验证 21002 坑
苹果官方文档上说:要从设备上的 app 检索收据数据,请使用 NSBundle(英文) 的 appStoreReceiptURL(英文) 方法来找到 app 的收据,再对该数据进行 Base64 编码。接着将这个以 Base64 编码的数据发送到您的服务器。意思是,客户端拿到收据receipt数据后,要进行Base64加密后,发给服务器,然后服务器再向App Store进行验证,但是客户端拿到的收据数据其实是已经加密过的,再次加密就会收到 App Store 返回的21002错误码...原创 2021-12-02 11:50:43 · 6004 阅读 · 0 评论 -
Java自带工具
jps (JVM Process Statues Tool)看当前用户下的java进程的pid及基本信息格式:jsp[options][hostid]options-q 显示进程id-m 显示进程id,主类名称,以及main方法的参数-l 显示进程id,主类全名-v 显示进程id,主类名称,以及传入JVM的参数-V 显示进程id,主类名称[-mlvV] 可以任意组合使用hostid主机或者服务器ip,不指定默认为当前的主机或是服务器jstat (JVM Statistic原创 2021-11-25 20:29:15 · 473 阅读 · 0 评论 -
log4j-logback-slf4j
预览1. log4j1.1 基本用法1.2 配置 logj.properties1.2.1 logger1.2.2 appender1.2.3 layout1.3 log4j完整配置示例2. 门面模式3. slf4j与log4j联合使用4. 开发技巧4.1 选择恰当的日志级别4.2 日志级别较低时,进行日志开关判断4.3 使用参数占位`{}`,而不是用`+`拼接4.4 不要使用e.printStackTrace()4.5 禁止在线上环境开启 debug4.6 日志文件分离1. log4j1.1 基本用法原创 2021-10-01 17:53:55 · 585 阅读 · 0 评论 -
Java8-Optional类简单使用
// Optional类简单实用 public static void main(String[] args) { testOptional(null); System.out.println("分割线--------------------------"); testOptional("qw"); } // 在不能保证参数是否为空时 public void testOptional(String str) { .原创 2021-04-01 23:11:17 · 131 阅读 · 0 评论 -
Netty-聊天室
1. 实例要求编写一个 Netty 群聊系统,实现服务器端和客户端之间的数据简单通讯(非阻塞)实现多人群聊服务器端:可以监测用户上线,离线,并实现消息转发功能客户端:通过 channel 可以无阻塞发送消息给其它所有用户,同时可以接受其它用户发送的消息(有服务器转发 得到)目的:进一步理解 Netty 非阻塞网络编程机制2. 代码GroupChatServer.javapublic class GroupChatServer { // 监听端口 private int p原创 2021-03-11 16:15:52 · 268 阅读 · 0 评论 -
NIO-聊天室实现
案例要求:编写一个 NIO 群聊系统,实现服务器端和客户端之间的数据简单通讯(非阻塞)实现多人群聊服务器端:可以监测用户上线,离线,并实现消息转发功能客户端:通过 channel 可以无阻塞发送消息给其它所有用户,同时可以接受其它用户发送的消息(有服务器转发 得到)目的:进一步理解 NIO 非阻塞网络编程机制NIOChatServer.javaimport java.io.IOException;import java.net.InetSocketAddress;import java原创 2021-02-25 17:02:28 · 169 阅读 · 0 评论 -
NIO-Client&Server
案例要求:编写一个 NIO 入门案例,实现服务器端和客户端之间的数据简单通讯(非阻塞)(客户端写 服务端读)目的:理解 NIO 非阻塞网络编程机制NIOClient.javaimport java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SocketChannel;import java.util.Scanner;/**原创 2021-02-24 20:26:49 · 183 阅读 · 0 评论 -
java-redis排行榜value+time排序
本文预览需求思路代码总结需求做一个送花排行榜根据玩家送花数量倒叙排列送花数量相同时,先送花的在前面思路用redis存取数据,自动维护有序集合 。但值一样时,无法保证谁在前谁在后。所以可以把存入的时间考虑进去。这样排序就变成了: 数值 + 时间。因为送花数量是整数,那能不能把时间变成小数加在后面呢,这样取数据的时候,直接取整就是原始数据了。公式:newValue = value + 1 - time / Math.pow(10, (int) Math.log10(time) + 1d原创 2021-01-09 18:54:21 · 573 阅读 · 1 评论 -
Java-双亲委派机制
目录双亲委派机制双亲委派机制优势工作原理破坏双亲委派模型双亲委派机制某个特定的类加载器在接到加载类的请求时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务时,才自己去加载。双亲委派机制优势采用双亲委派模式的是好处是Java类随着它的类加载器一起具备了一种带有优先级的层次关系,通过这种层级关可以避免类的重复加载,当父亲已经加载了该类时,就没有必要子ClassLoader再加载一次。其次是考虑到安全因素,java核心api中定义原创 2020-12-25 15:22:08 · 3464 阅读 · 1 评论 -
单例模式:饿汉式与懒汉式
目录单例模式介绍实现方式饿汉式懒汉式synchronized 加锁双重检查锁 (Double Checked Locking)静态内部类枚举单例模式单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:单例类只能有一个实例。单例类必须自己原创 2020-12-24 21:33:53 · 160 阅读 · 0 评论 -
Java-类加载器
https://blog.youkuaiyun.com/javazejian/article/details/73413292https://www.cnblogs.com/czwbig/p/11127222.html目录写在前面类加载类加载过程类加载器Java提供的三种加载器虚拟机自带的加载器启动类加载器(引导类加载器,Bootstrap ClassLoader)扩展类加载器(Extension ClassLoader)应用程序类加载器(系统类加载器,AppClassLoader)用户自定义类加载器类的唯一性双亲原创 2020-12-14 23:31:08 · 930 阅读 · 1 评论 -
Java-Stream distinct 去重
写在前面distinct()返回由该流的不同元素组成的流。distinct()是Stream接口的方法。distinct()使用hashCode() 和equals()方法来获取不同的元素。因此,我们的类必须实现hashCode()和equals()方法。对象去重代码实例 未重写hashCode()&equals()public class Student { private String name; private int age; private int type原创 2020-11-11 19:19:38 · 3857 阅读 · 2 评论 -
Java-TreeSet HashSet 去重原理
Set集合的特点是具有唯一性,那么具体是如何实现的呢,下面将要讨论。Set 去重原理继承图 |-- SortedSet接口-----TreeSet实现类set接口------|-- HashSet实现类 |-- LinkedHashSet实现类源码中 Set.java 定义了 add() 的抽象方法,具体实现需要看 TreeSet 和 HashSet 的实现// @return true if this set did not already co原创 2020-11-11 15:56:38 · 1119 阅读 · 2 评论 -
Java-Random类和Math.random方法
Random类包路径:java.utilimport java.util.Random; public class MyTest { public static void main(String args[]) { Random random = new Random(); //以系统当前时间作为随机数生成的种子 System.out.println(random.nextInt(100)); //返回一个[0,100)之间的整数 Sy原创 2020-11-03 15:14:32 · 486 阅读 · 1 评论