- 博客(105)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 windows安装ubuntu问题
只需要在powershell 终将 wsl --set-default-version 1 默认安装WSL1。
2023-08-08 09:26:09 109
原创 fastJSON list相互转换json
public static void main(String[] args) { List<DragonDrawPrize> randomPrizeList = new ArrayList<>(); for(int i=0;i<4;i++){ DragonDrawPrize prize = new DragonDrawPrize(1,"-1_"+i,1); randomPrizeList.add(.
2021-09-08 12:19:27 2653
原创 spring+mybatis 事务遇到问题总结
//添加注解配置@EnableTransactionManagement@SpringBootApplicationpublic class WebApplication { public static void main(String[] args) { SpringApplication.run(WebApplication.class, args); }}//添加到@Transactionalpublic void addUser(){}出现的问题如
2021-07-15 11:51:15 644
原创 mysql 创建视图与创建临时表循环遍历
创建视图create view ua as(select q.id,q.name from t_user_info as qwhere q.age >22)#查询视图数据select ua.id from ua;#删除视图drop view ua;当根据ua.id删除t_user_info 对应的记录后,ua的记录也为空delimiter $$DROP PROCEDURE IF EXISTS test_delete;create PROCEDURE test_delete ()
2021-07-12 19:19:10 801
原创 mysql 循环遍历结果集,来逐条更新
SELECT USER_ID FROM ua; 会返回USER_ID的列表2.通过循环来逐条更新符合USER_ID的记录# delimiter $$ 告诉解释器使用$$结尾delimiter $$DROP PROCEDURE IF EXISTS test_update;create PROCEDURE test_update ()begin# 声明自定义变量DECLARE tempUserId BIGINT(20);# 声明游标结束变量DECLARE done INT DEFAUL.
2021-07-12 17:38:30 2469
原创 LocalDateTime转LocalDate转Timestamp
LocalDateTime 转LocalDateLocalDateTime localDateTime = LocalDateTime.now();LocalDate localDate = localDateTime.toLocalDate();LocalDateTime 转 TimestampTimestamp time = Timestamp.valueOf(LocalDateTime.now());Timestamp转LocalDateTimeTimestamp time.
2021-06-29 15:33:26 5058 1
原创 设计模式要点
设计模式六大原则:1、单一职责原则,实现类要职责单一;2、里氏替换原则,不要破坏继承体系;3、依赖倒置原则,要面向接口编程;4、接口隔离原则,在设计接口的时候要精简单一;5、迪米特原则,要降低耦合;6、开闭原则,要对扩展开放,对修改关闭。1. 依赖倒置原则:要依赖抽象,不要依赖具体类变量不可以持有具体类的引用。不要让类派生自具体类不要覆盖基类中已实现的方法底层组件和高层依赖同样的抽象2. 抽象工厂模式----提供一个借口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。3. 工厂方法模式
2021-06-23 18:26:41 93
原创 json转换
hashMap转jsonObject:import com.alibaba.fastjson.JSON;JSONObject fromHashMap = (JSONObject) JSON.toJSON(hashMap);hashMap转实体类:import com.alibaba.fastjson.JSON;JSONObject fromHashMap = (JSONObject) JSON.toJSON(hashMap);Pet pet1 = JSON.toJavaObject(fromHa
2021-05-26 10:13:28 138
原创 linux日志文件对特定时间段的数据求和
测试文件,目前是对测试文件进行的分析,内容如下 itemUpdate.log2021-04-19T01:42:27.649+0800: 104788.405: [ITEM 104788.405: [ItemUpdate: 1679840K->2005K(1887488K), 0.0188900 secs] 2488372K->810551K(6081792K), 0.0190170 secs] [Times: user=0.07 sys=0.00, real=0.02 secs]2021.
2021-04-19 16:15:07 441
原创 redis排名根据分数和时间排名
当分数相同时,根据创建时间来排名,谁创建的早排在前面,设置maxtime = 9999999999999L来作为最大时间。public static Jedis getJedis() { JedisPool pool = new JedisPool("127.0.0.1",6379); Jedis jedis = pool.getResource(); return jedis; } public static void main(String[] args) { Jedis j
2021-04-10 11:27:33 888
原创 输入字符串以单词为单位进行反转
2.实现一个方法,输入字符串以单词为单位进行反转,例如I like you 反转为you like I,不可使用String等char[] reverse(char[] input)package com.leetcode;/** * 转换字符串中单词的顺序 * 输入:"the sky is blue" 输出:"blue is sky the" 必须用原始的char[] */public class ReverseCharArray { public char[] reverseWo
2020-12-26 14:36:04 680
原创 java 一个数据文件,文件大小超过程序可用运行内存,输出id最小的128 个记录,按照id非降序排列
程序输入:一个数据文件,文件大小超过程序可用运行内存。文件内容为单一结构数据的数组:class Record{int id;byte gender;short depart;int age;};程序输出:id最小的128 个记录,按照id非降序排列注1: 结构体在文件中的存储方式可以自己假定,可以二进制也可以文本注2:下面列出了几个函数原型供选择,使用其他语言可以自定义函数和结构体java :List foo(File file)C/C++:int foo(const ch
2020-12-24 09:47:36 454
原创 并发包下类总结
synchronized 是在jvm底层的实现的锁, 互斥排他锁可以锁定对象实例方法,必须锁定同一个实例静态方法,相当于锁定类,可以传入不同实例wait()调用wait()之前需要拿到当前对象的监视器(也是锁),执行后释放对象的监视器notify()调用notify()之前也需要拿到对象的监视器java内存模型Java内存模型定义了程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出这样的底层细节。此处变量包括实例字段,静态字段和构成数组对象的元素,但不包括...
2020-12-23 12:50:13 111
原创 java 命令的使用
jps 查看java线程jinfo -flag MetaspaceSize 3588 可以查看线程KMP设置的metaspace大小jstat -gcutil pid查看堆内存各部分的使用量,以及加载类的数量S0C:suvivor0区的大小S1C:suvivor1的大小S0U:suvivor0的使用大小S1U:suvivor1的使用大小EC:eden区的大小EU:eden区的使用大小OC:老年代大小OU:老年代使用大小MC:方法区大小MU:方法区使用大小CCSC:.
2020-12-23 12:50:01 158
原创 二分搜索树的查找-----字典数据的应用
优点:1.查找,插入,删除都是高效的2.方便找到数据之间的关系,min,max,select(找到第几名),floor,ceil二分搜索树,不一定是完全二叉树。...
2020-12-22 17:54:23 121
原创 BinLog
1.Binlogbinlog 以事件的形式记录了所有的DDL 和DML 语句(因为它记录的是操作而不是数据值,属于逻辑日志),可以用来做主从复制和数据恢复。实现数据的恢复:在开启了binlog 功能的情况下,把binlog 导出成SQL 语句,把所有的操作重放一遍.实现主从复制:从服务器读取主服务器的binlog,然后执行一遍。1、先查询到这条数据,如果有缓存,也会用到缓存。2、...
2020-12-22 17:53:02 110 1
原创 ThreadPool详解--线程池连环问
参考链接:https://www.cnblogs.com/thisiswhy/p/12690630.html线程池执行的流程 线程池的默认的创建Executors.newSingleThreadPool() ---单线程的线程池 Executors.newFixedThreadPool(int) ----固定大小的线程池 Executors.newCachedThreadPool() -----可缓存的线...
2020-12-22 17:52:40 118
原创 park()和unPark()和Object wait 和notify区别
LockSupport的park()和unPark()1、LockSupport中的park() 和 unpark() 的作用分别是阻塞线程和解除阻塞线程2、对象为线程Object wait 和notify1、因为wait需释放锁,所以必须在synchronized中使用(没有锁时使用会抛出IllegalMonitorStateException)2、notify也要在synchronized使用,并且应该指定对象3、synchronized(),wait(),notify() 对象必须
2020-12-22 17:52:11 236
原创 io.netty.handler.codec.MessageToMessageDecoder
package xmg.quest.netty.core;/*** @author 作者 : xuminggang* @version 创建时间:2020年6月8日 上午10:19:13* */import io.netty.channel.ChannelHandlerContext;import io.netty.channel.ChannelInboundHandler;import io.netty.channel.ChannelInboundHandlerAdapter;impo.
2020-12-22 17:51:02 711
原创 ForkJoin的用法
1.什么是ForkJoin --使用了分治算法Fork/Join是java7提供的并行执行任务框架1)把大任务分割为若干个小人物2)汇总每个小任务结果3)得到大任务结果的框架2.工作密取(work-stealIng)使得若一个工作线程的task队列为空,没有任务可以执行时,从其他工作线程中获取任务主动执行。目的:充分利用线程进行并行计算,减少线程竞争。3.类构架图...
2020-12-22 17:50:03 402
原创 java并发编程实战
1.及时失败(fail-fast):迭代器发现容器在迭代过程中被修改时,就会抛出一个ConcurrentModificationException异常
2020-12-22 17:47:47 115
原创 linux查看电脑硬件配置
查看CPUcat /proc/cpuinfo2. 查看内存free -m3. 查看硬盘分区fdisk -l4. 查看网卡信息或者ip地址ifconfig5. 查看详细的网卡工作模式ethtool eth0
2020-12-22 17:46:48 803
原创 JVM 参数汇总
1.-Xmx3550m:设置JVM最大可用内存为3550M-Xms3550m:设置JVM初使内存为3550m-Xmn2g:设置年轻代大小为2G ,年轻代包括Eden区,Survivor0区和Suvivor1区-Xss128k:设置每个线程的堆栈大小-XX:SurvivorRatio 用于设置Eden和其中一个Survivor的比值-XX:MaxTenuringThreshold=0:设置垃圾最大年龄-XX:+UseParallelGC:选择垃圾收集器为并行收集器。此配置仅对年轻代有效-XX:.
2020-12-21 09:59:43 1537
原创 简单的死锁例子
package com.xmg.lock;/*** @author 作者 : xuminggang* @version 创建时间:2020年8月24日 上午11:41:33* * * 简单的死锁例子,容易发生死锁*/public class SimpleDeadLock { private final Object left = new Object(); private final Object right = new Object(); public void leftRig.
2020-08-24 11:45:24 107
原创 Collections.sort多字段排序
Collections.sort(yProducts, new Comparator<CardHeroStoreProductInfo>(){ @Override public int compare(CardHeroStoreProductInfo p1, CardHeroStoreProductInfo p2) { int c = 0; //首先按照state由小到大排序 c = p1.getState() - p2.getSt.
2020-07-31 14:56:14 1844
原创 笔试ledao
JAVA 部分equals()方法是用来干嘛的?它和有什么不同?重载equals的时候一般还会重载哪个函数,为什么答:(1)equals()方法是Object的方法,通过覆盖该方法可以判断两个对象是否相等。(2) 是用来判断基本类型的值是否相等或判断对象的地址是否相等。(3)重载equals时候还会重载hashcode,可能出现两个对象“相等”,但是hashcode不一样导致不相等的情况。比如,往set里加入10个自定义类,自定义类重载了equals方法,未重载hashcode,则它的大小就为1
2020-07-05 22:05:51 174
原创 根据ReentrantLock和Condition创建阻塞队列
package com.test.day;import java.util.ArrayList;import java.util.List;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;/** * 写一个自定义阻塞队列,根据ReentrantLock和Condition */public class MyBlockingQueue<E> {
2020-07-05 11:20:48 152
原创 CountDownLatch的理解和例子
CountDownLatch内部通过共享锁实现。在创建CountDownLatch实例时,需要传递一个int型的参数:count,该参数为计数器的初始值,也可以理解为该共享锁可以获取的总次数。当某个线程调用await()方法,程序首先判断count的值是否为0,如果不会0的话则会一直等待直到为0为止。当其他线程调用countDown()方法时,则执行释放共享锁状态,使count值 - 1。当在创建CountDownLatch时初始化的count参数,必须要有count线程调用countDown方
2020-07-01 22:12:42 240
原创 线上问题总结------跨服状态改变问题
游戏中有各种跨服活动,在大部分战斗中没有出现问题,但是在擂台赛出现了选择。刚开始查看觉得是客户端问题,其实确实是中心服服务器的问题。消息发到中心服后,在中心服改变了武将的状态,但是在发送回游戏服时,出现了characters为空,直接返回。if ( this.getType() != BattleType.BATTLE_TYPE_SUPREME ) { if (characters.isEmpty()) { return; } }...
2020-06-30 18:19:06 136
原创 BIO、NIO、AIO
BIO-会产生阻塞NIO-非阻塞单线程模型-轮询模式--相当于selector负责client的连接并负责client的读写package com.xmg.nio;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import...
2020-06-25 08:44:44 109
原创 java如何停止一个正在运行的线程
停止一个线程意味着在任务处理完任务之前停掉正在做的操作,也就是放弃当前的操作。停止一个线程可以用Thread.stop()方法,但最好不要用它。虽然它确实可以停止一个正在运行的线程,但是这个方法是不安全的,而且是已被废弃的方法。在java中有以下3种方法可以终止正在运行的线程:使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。 使用stop方法强行终止,但是不推荐这个方法,因为stop和suspend及resume一样都是过期作废的方法。 使用interrupt方法中断线程。1. 停
2020-06-23 10:48:50 1470
原创 Mysql 聚集索引和非聚集索引区别
1)聚集索引和非聚集索引区别------------聚簇索引和非聚簇索引区别1.在InnoDb中主键索引即为聚集索引,数据存储在B+树的叶子节点,索引和数据放在一起2.非聚集索引:指的是非主键索引,非主键索引叶子节点数据存储的是主键索引的ID,真实数据没有和索引放一起2)为什么非主键索引存储的是主键索引非真实数据为了数据的一致性,对一个索引数据进行修改将会导致其他索引也修改,需要改很多地方,开销大。占用磁盘空间。通过时间换空间...
2020-06-18 22:44:39 932
原创 FutureTask源码分析-重点方法
FutureTask源码分析1.FutureTask的7中状态转换2.重点方法分析1.get()2.run()3 cancel()3 举例代码1.FutureTask的7中状态转换2.重点方法分析1.get()/** * @throws CancellationException {@inheritDoc} */ public V get() throws InterruptedException, ExecutionException { int s = state; /
2020-06-14 19:54:05 183
原创 package io.netty.handler.codec.ReplayingDecoder
package xmg.quest.netty.core;/*** @author 作者 : xuminggang* @version 创建时间:2020年6月8日 上午10:05:15* */import io.netty.buffer.ByteBuf;import io.netty.buffer.Unpooled;import io.netty.channel.ChannelHandler;import io.netty.channel.ChannelHandlerContext;.
2020-06-09 10:13:47 691
eclipse插件在线下载源码.rar
2019-07-16
求大神解决TryUpdateModel如何在java中使用
2016-09-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人