
Java
CCCCCCCYYY_
不会翻身的咸鱼一条
展开
-
【工作问题】多叉树的应用:用户代理等级升级策略
前言还是项目的新需求:每天进行一次更新用户等级,具体等级要求如下:很明显的是,高等级用户依赖于低等级用户的业绩和社区等级进行升级。也就是说需要从低等级用户开始升级,层层递进到高等级用户。这个时候选择一个合适的数据结构在开发中能省很多功夫,比如多叉树。多叉树实现其实不管是初始化树还是遍历的思路跟二叉树都是一样的。树的节点:@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)public class UserTr原创 2021-03-22 14:40:40 · 292 阅读 · 0 评论 -
【Java】MyBatis注解SelectProvider等的使用
@SelectProvider(method=”xxxx”,type=xxxx.class)MyBatis3提供的这个注解可以让程序员用自定义的类构造SQL语句(method属性为类中要执行获取sql语句的方法,type属性为获取sql语句的指定类)原创 2021-01-10 17:49:39 · 1448 阅读 · 0 评论 -
【Java】除了增删查改你还会什么:反射+注解
场景最近本社会闲散人员去面试了,某公司终面的是个大佬,于是就有了下面的对话:大佬一脸不耐烦地拿着简历:有没有做过支付啊?给我说下支付流程吧我战战兢兢:有的有的,XX项目里接入了%*&(&*%大佬扶了扶眼镜,皱皱眉头:你们项目任务调度用的啥?我:xxl-job大佬看了我一眼:说说他底层怎么实现的?我:…大佬:那有没有做过除了增删查改之外的东西?我苦思冥想:(是在问我有写过框架吗…)没有的,都是在写业务,对数据处理…大佬更加不耐烦:那你这不是码农吗思考恍恍惚惚从公司走原创 2021-01-09 16:08:34 · 469 阅读 · 0 评论 -
【LeetCode】动态规划:第62题. Unique Paths
62. Unique PathsA robot is located at the top-left corner of a m x n grid (marked ‘Start’ in the diagram below).The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked ‘F原创 2020-11-16 15:23:46 · 134 阅读 · 0 评论 -
【工作问题】Mysql数据库隐形空格导致的BUG
【工作问题】Mysql数据库隐形不显示空格导致的BUG今天工作中需批量导入手机号码等数据,写了个判断手机号码String.length()不为11位的写入到错误文件中。过程还算顺利,大部分号码是对的,但是结果中出现两个我"确定"为11位的手机号码"158XXXX8403",无论是Mysql数据库中还是idea,点击复制都是妥妥的"11"位,前后确定没有空格!真是百思不得其解。然后写了个System.out.println("手机号".length()),看看这个号码测出来不是11位是多少位?结果打印出原创 2020-05-17 01:38:08 · 677 阅读 · 0 评论 -
【Java】2020年Java面试题二
最近面了一些公司,总结一下面试题。答案后面再写吧。。1、HashMap和CoucurrentHashMap底层原理2、Oracle和MySQL的区别3、Spring的核心4、IOC5、JUC,锁方面6、MySQL事务7、MySQL索引8、MyBatis原理呃。。。确实不太了解9、针对之前的项目问了挺多东西的自我总结一下:关于Spring底层的一些原理还是没有理清,对各种...原创 2020-04-21 16:27:33 · 348 阅读 · 1 评论 -
【Java】2020年Java面试题一(2020年)
今天Java基础(多线程,JVM等)没怎么考察,但其他方面都有所涉猎,从框架底层到架构方面都有问到。稍微记录一下问到的题吧!!!1、索引不生效的情况:1.有or必全有索引;2.复合索引未用左列字段;3.like以%开头;4.需要类型转换;5.where中索引列有运算;6.where中索引列使用了函数;7.如果mysql觉得全表扫描更快时(数据少);自身总结:这个平时explain...原创 2020-04-18 22:05:58 · 225 阅读 · 0 评论 -
【工作问题】Java如何主动推送数据到浏览器?
X86客户端的又一个需求。。写惯了接口都不知道该怎么主动推送数据了。。Websocket,一种在单个 TCP 连接上进行全双工通讯的协议。也就是说,它允许服务端主动向客户端推送数据。并且只需要一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。简单说,就是服务器可以主动推送数据到浏览器客户端,客户端也可以请求数据。那就实现一下⑧:首先,依赖包是必须的 <depende...原创 2020-04-18 16:51:07 · 932 阅读 · 0 评论 -
【Java】单例模式UncaughtExceptionHandler类实现捕获全局未处理异常
UncaughtExceptionHandler类:method invoked when the given thread terminates due to the given uncaught exception.当线程由于未捕获异常终止时调用的处理接口。简单说就是实现该类后,Override该接口的uncaughtException方法,可以捕获到全局未捕获(没有抛出或catch)的异...原创 2020-04-13 09:43:33 · 183 阅读 · 0 评论 -
【JAVA】JavaCV实现简单录屏功能
最近接触的Java桌面程序需要一个录屏功能,然后就翻到了JavaCV,跟着教程大概写了一个,其中用上了之前用来截屏的Robot类JavaCV就是一款开源的视觉处理库,封装了FFmpeg、OpenCV、videoInput和ARToolKitPlus等等计算机视觉的接口。首先需要声明并初始化各种属性 private ScheduledThreadPoolExecutor screenT...原创 2020-04-03 10:14:40 · 3431 阅读 · 0 评论 -
【工作问题】Double类型不使用e指数打印展示
今天遇到了一个Double类型展示的问题。取出来数据后直接打印出来,会转换为5.212412417E14这样带e指数的格式。如果不需要转为e指数,则需要用到Java中的DecimalFormat格式进行转换。代码: DecimalFormat doubleFormat = new DecimalFormat(); doubleFormat.setMaximumFractionDigit...原创 2020-03-30 09:49:30 · 867 阅读 · 0 评论 -
【Java】Robot类createScreenCapture方法实现截屏功能
Java.Robot类此类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件。Robot 的主要目的是便于 Java 平台实现自动测试。也就是可以模拟键盘操作, 鼠标操作, 以及截图(应该可以用来实现一些自动脚本,类似消息刷屏这些)实现:在Robot类提供的createScreenCapture方法里传入一个Rectangle类就可以根据Rectangl...原创 2020-03-13 09:53:22 · 3026 阅读 · 0 评论 -
【Java】单例模式:U盘监听器和简单实现
单例模式:只能有一个实例检测到有U盘插入时,查找设备中的所有文件在U盘插入之前先获取系统开始的盘符数。两个线程分别为生产者和消费者生产者:循环检测系统盘符,若判断出盘符数增多,则该线程等待并唤醒消费者。消费者:一直处于等待状态,直到被生产者唤醒。单例:public class UDiskMonitor { //设为私有 private static final Logger ...原创 2020-03-11 11:36:17 · 988 阅读 · 0 评论 -
Java笔试题总结
这家公司应该是做大数据的1.Java是大端还是小端?int的范围?人的年龄应该用什么数据类型?java应该是大端的方式。int从-2的32次方到2的32次方。在java中 int 是默认得整数型,即一个整数赋值的时候,默认他的类型就是int,所以用int。不知道对不对2.volatile关键字是?多线程有多少种方法实现?volatile作为java中的关键词之一,用以声明变量的值可能随时会...原创 2019-06-26 19:07:15 · 121 阅读 · 0 评论 -
Java面试题总结2
今天遇到的面试官问到的问题挺全的,从Java基础到项目大概结构设计,记录一下1.==和equals使用来判断两个变量是否相等的时候,如果两个变量是基本类型变量,且都是数值类型,则只要两个变量的值相等就返回true。复合数据类型(类):当他们用()进行比较的时候,比较的是他们在内存中的存放地址。总结 == 和 Equals 的区别 1. == 是一个运算符。 2.Equals则是str...原创 2019-06-26 08:33:57 · 116 阅读 · 0 评论 -
Java面试题总结
记录一下回答不上来的题目1.springboot的定时任务注解:@scheduled2.Mysql的视图是什么?MySQL视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。对其中所引用的基础表来说,MySQL视图的作用类似于筛选。定义...原创 2019-06-25 08:33:09 · 132 阅读 · 0 评论 -
JAVA多线程学习笔记
1) 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支持,它也是一个很好的卖点。欲了解更多详细信息请点击这里。2) 线程和进程有什么区别? 线程...转载 2019-05-17 20:35:28 · 163 阅读 · 0 评论 -
Java基础学习笔记
Java基础学习笔记一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。java语言是跨平台,jvm不是跨平台的。JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类库。 JDK(Java Development Kit):java的开...转载 2019-04-30 15:29:36 · 315 阅读 · 0 评论