
Java
文章平均质量分 76
ShichimiyaSatone
DO NOT RUSH
展开
-
[Java]ConcurrentHashMap中的sizeCtl变量
隐藏着bug的并发集合ConcurrentHashMap,依旧保持着线程安全?原创 2023-07-06 15:04:16 · 1484 阅读 · 1 评论 -
[ES]Linux安装Elasticsearch
一、背景 云学习es太过枯燥,想实际操作一把加深记忆。第一时间找到官网,发现只有寥寥几行字,操作完发现有几个挺坑的地方,记录下。二、安装步骤 1)下载压缩包:https://www.elastic.co/cn/downloads/elasticsearch 2)使用rz上传压缩文件到Linux服务器 3)新建用户,切换用户# 新建es用户,es6之后无法通过修改配置、指定启动参数实现root用户启动use...原创 2021-08-31 16:12:44 · 621 阅读 · 0 评论 -
[Java]关于字符串及编码
一、什么是字符串在Java中,String可定义为特定编码(utf-16)的字符数组。也就是说代码运行起来,String实例内的字符数组都为UTF16编码。代码自身的编码类型由本地代码文件的字符编码类型确定。本文仅讨论在Java语言中的String,全文的String仅代表Java中的String类。二、什么是编码转换 由某种编码的字节数组转换为utf16编码的字符数组...原创 2020-04-22 14:32:46 · 335 阅读 · 0 评论 -
[框架]SpringBoot项目启动时自动退出
一、问题项目编译成功,启动处理到Eureka时打印Saw local status change event StatusChangeEvent [timestamp=1586230015468, current=DOWN...随后退出执行,无其他错误或异常信息Process finished with exit code 1控制台输出二、解决确认依赖没有...原创 2020-04-07 21:02:06 · 2284 阅读 · 1 评论 -
[Java]并发计数闩——CountDownLatch
一、类图二、概念利用AQS(AbstractQueuedSynchronizer)的state(volatile修饰)变量和Node(双向链表)控制线程的等待状态,使用for(;;)死循环实现等待。三、方法CountDownLatch(int count)构造方法中传入阈值(state),构造内部类Sync。public CountDownLatch(int count...原创 2019-10-16 17:23:41 · 203 阅读 · 0 评论 -
[Java]初识PageHelper分页插件
一、前言PageHelper是Mybatis持久层框架中的分页插件,利用Mybatis提供的拦截链实现物理分页。本篇将探究插件如何参与到Mybatis执行过程中,并实现分页。二、MyBatis介绍初始化流程 mybatis加载及mapper初始化流程 部分核心类 SqlSessionFactoryBuilder 负责构建 SqlSessionFactor...原创 2019-09-29 13:57:59 · 538 阅读 · 0 评论 -
[Java]堆排序代码实现
一、堆介绍堆为特殊完全二叉树,满足以下条件为完全二叉树:1)从作为第一层的根开始,除了最后一层之外,第n层的元素个数都必须是;2)叶子节点从左向右排放。左侧为完全二叉树本次排序用到的堆为大顶堆,特点为所有父节点比其子节点大。二、堆排序思想排序中将用数组模拟堆,不会用到堆的链表结构。以下执行步骤:1)将数组视为无序堆,下标对应的结点顺序可以参照上方完全二叉树示例图;...原创 2019-05-12 15:05:12 · 252 阅读 · 0 评论 -
[Java]发送QQ邮件时抛出535认证异常
一、抛出异常异常信息:535 Error: authentication failed二、确认账号与授权码由于使用javamail发送邮件需要进行第三方邮箱登录,认证时需要账号和授权码。不同的邮箱授权码获取方法不同,这里以QQ邮箱为例:登陆后点击“设置”->“账户”在“账户”中下翻找到此项,选择“生成授权码”获取16位授权码关于账号的填写QQ邮箱有些特...原创 2019-05-05 13:21:27 · 7558 阅读 · 0 评论 -
[JQuery]pagination分页插件不显示
由于不熟悉项目中使用到的pagination分页插件,在调试时发现分页插件不显示。开始以为是js、css文件有问题,排除后又检查使用方法。在其他方法尝试无果,准备更换插件时发现问题所在。一、常见情况插件不显示的原因有很多,可能是参数设置错误、引入样式路径错误等。关于如何正确使用分页插件,可以参考下面两篇文章:JqueryPagination 分页插件使用说明一款不错的jQuery分...原创 2019-04-30 17:21:14 · 4079 阅读 · 0 评论 -
[Java]动态代理引起的空指针异常
一、前言在学习JDK提供的动态代理时,写了个小demo,但是发现执行有些方法抛出空指针异常,有些方法不会。二、实现代码接口:package test;/** * 被代理的接口 * @author Satone * @date 2019年1月25日上午8:03:53 */public interface UserDao { void findAll();}...原创 2019-01-25 08:23:50 · 3144 阅读 · 0 评论 -
[Java]代码实现图像转换成文本
一、前言前天在B站看到一个将鬼畜视频转成文本的视频,觉得很有意思就去研究了下如何在JAVA中实现类型功能。主要使用了ffmpeg和JAVA API中的BufferedImage与ImageIO类,完整项目的压缩文件放在GitHub上。二、图片转为文本以一个彩色图片作为输入,通过处理,最后输出一串字符到文本中,要求文本中的字符能够尽量表示原图片中的内容。首先我们需要将彩色图片处理正黑...原创 2019-01-23 15:17:05 · 3255 阅读 · 0 评论 -
[Java]使用FFmpeg等比例改变视频分辨率
在未知源视频分辨率的情况下等比例缩放,命令:// 指定宽度640px,视频高度等比例ffmpeg -i input.mp4 -strict -2 -vf scale=640:640/a output.mp4执行成功: 之前还使用过一些其他命令,但是都没成功。如:// 原博主没打全,漏了个outputffmpeg -i input.avi -vf scale=4...原创 2019-01-22 16:45:01 · 7936 阅读 · 0 评论 -
[Java]浮点数float、double取值范围与精度
1、Java浮点数在Java中,浮点数取值范围的表示不像整数那么简单。对于int来说,他的规则标准是:一个int类型变量占32位,最高位为符号位,剩下31位表示值,所以取值范围 。而浮点数有另一套标准,IEEE 754。2、float结构我们以float为例子,一个float数占4字节32位,分为三部分:符号位,指数位,尾数位。符号位(S):1bit 指数位(E):8bit...原创 2018-12-27 13:36:35 · 7359 阅读 · 0 评论 -
[Java]子类不继承父类私有方法
子类不继承父类私有的方法, 更无法重写父类私有的方法。关于子类是否继承父类私有的方法和属性这个问题,有看到回答继承的,也有看到回答不继承的。一直找不到一个合适的方法测试,所以只能是相信书上说的“获得基类中所有的域和方法”,甚至一度认为子类会继承父类的构造方法。组合的语法比较平实,但是继承使用的是一种特殊的语法。在继承过程中,需要先声明“新类与旧类相似”。这种声明是通过在类主体的左边花括号...原创 2018-12-26 21:18:50 · 2186 阅读 · 0 评论 -
[Java]静态绑定与动态绑定
一、绑定把一个方法与其所在的类/对象 关联起来叫做方法的绑定。绑定分为静态绑定(前期绑定)和动态绑定(后期绑定)。二、静态绑定静态绑定(前期绑定)是指:在程序运行前就已经知道方法是属于那个类的,在编译的时候就可以连接到类中,定位到这个方法。在Java中,final、private、static修饰的方法以及构造函数都是静态绑定的,不需程序运行,不需具体的实例对象就可以知道这个方法的具...原创 2018-12-26 17:43:28 · 433 阅读 · 2 评论 -
[Java]平衡二叉树的插入与删除
平衡二叉树是一种特殊的排序二叉树(对于每个结点来说,左子树中所有结点的值 < 结点值 < 右子树中所有结点的值),树的左右结点高度(到叶子结点需要经过的最大结点数)差小于2。对一颗平衡二叉树进行中序遍历可以顺序输出所有节点的值,对树进行查找时类似二分查找,时间复杂度为log(n)。一、排序二叉树因为平衡二叉树是特殊的排序二叉树,所以在了解平衡二叉树前需要了解排序二叉树的增删。相...原创 2018-12-24 12:59:06 · 2192 阅读 · 1 评论 -
[Java]初识wait()、notify()方法
1.wait()、notify()、notifyAll()都是Object内的final方法,不可重写。2.当线程执行wait()方法时,会停止执行,释放当前锁,让出cpu。3.线程执行notify()方法时会唤醒一个等待中的线程,但不会立即释放锁。notify()唤醒线程后,被唤醒线程会接着上次的执行位置继续往下执行。4.两个方法都要求在同步代码块中执行,也就是说当前线程已获得锁。...原创 2018-12-21 11:41:09 · 207 阅读 · 0 评论 -
[Java]字符串转Unicode编码额外2个字节的来源
转载:https://blog.youkuaiyun.com/iteye_3946/article/details/81640056https://www.zhihu.com/question/23374078/answer/69732605 为了在读取字节时能知道所采用的字节序,在传输时采用了一个名为 “ZERO WIDTH NON-BREAKING SPACE”(U+FEFF)的字符用于限...转载 2018-12-20 12:42:22 · 1318 阅读 · 0 评论 -
[Java]同步锁synchronized
在多线程操作数据时需要考虑使用synchronized关键词修饰属性或方法,同步锁synchronized大致可分为两类:对象锁、全局锁。在分析同步锁代码时需要关心两个问题:锁的对象是谁、谁持有锁。①对象锁:当一个线程访问对象object的一个synchronized(this)同步代码块或synchronized修饰的实例方法时,其他线程对该object中所有其它synchronized...原创 2018-12-17 14:19:10 · 237 阅读 · 0 评论 -
[Java]NaN与NaN比较是否相等
产生值为NaN的double类型变量d1和Double类型变量d2,使用==、equals()进行比较,结果如注释:double d1 = 0.0/0.0;Double d2 = 0.0/0.0;System.out.println(d1 == d1);//falseSystem.out.println(d2.equals(d1));//true当d1与自身进行==比较时判断为f...原创 2018-12-14 10:39:27 · 4824 阅读 · 0 评论 -
[Java]回调机制
现有A、B两个类,两个类的实例a、b,A中实现a()方法,B中实现b()方法。回调要求对象a在调用b对象的b()方法时,b()方法返回前需调用对象a的a()方法。以管道通信传输为例,程序需要一边不停接收对端传来的数据并将接收到的数据进行处理,而又不影响主线程的进行。 假定现有2个接口:接收者,处理者interface 接收者{ abstract void 不停接收(处理者...原创 2018-12-13 12:33:47 · 163 阅读 · 0 评论