自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DoubleFJ の Blog

只有回不去的过去,没有到不了的未来。

原创 Netty4 实现数据传输中间层处理

Netty4 实现数据报文的接收/拆包/重组/转发 完整代码:netty4-datatrans 个人博客:DoubleFJ の Blog 前言 由于项目中有对建筑的 GPS 定位模块,而 GPS 仪器作为客户端连接,传输的是标准的 GPGGA 语句,也就是多个客户端对一个服务端发送数据,节约端...

2019-10-11 11:59:07 60 0

原创 Face++与Java简单应用(新)

本文首发于个人博客:putop.top 开篇 前段时间逛了下旷视官网,真是变化好大页面好漂亮现在,依稀记得最开始上的官网哪来这么炫酷 然后就继续点进去看了下Face++API,果不其然参数变了不少,识别点越来越多了 再接下来我又翻了翻自己很久前写的一篇博文,这不行了,这之前写的啥玩意,代码...

2018-05-24 16:30:56 2425 9

原创 用SpringBoot2.0+Thymeleaf+Layui 做了个极简数据展示网站

最近用SpringBoot2.0+Thymeleaf+Layui做了个极简的网站,有空就写这篇博客来说说我在这条小路上踩到的一些坑,坑不大但也是坑啊! 先丢网站: http://putop.top GitHub: https://github.com/Folgerjun/putop.to...

2018-05-18 15:53:19 5671 4

原创 LeetCode 之检测大写字母(Detect Capital)

个人博客:DoubleFJ の Blog 前言 这是一道难度为简单的题,确实常规去解决一点也不难,但当我看到有大神在评论区发解题思路的时候,脑壳就突然有一种被敲开往里灌清凉油的感觉……让我们来走进清凉世界! 正文 题目描述: 给定一个单词,你需要判断单词的大写使用是否正确。 我们定义,在以下情...

2020-05-12 19:45:14 29 0

转载 Ubuntu16.04 安装 openjdk8 MySQL mongodb ssh

Ubuntu 16.04 安装MongoDB及卸载 Ubuntu16.04 install OpenJDK8 MongoDB 新建数据库后创建新数据库的用户时报错:not authorized ubuntu 16.04 linux下mongodb的安装和配置 Ubuntu 16.04开启SSH服务...

2020-05-06 17:58:40 22 0

原创 MySQL 数据库备份脚本

一个数据库备份小脚本,实现指定数据库数据表的定时备份 完整脚本在 database-backup 个人博客:DoubleFJ の Blog 前言 当然首先是有这个需求才会去想着写这么个脚本来实现。之前使用过阿里的 otter 来做数据同步,当然软件很好用,官方教程也很详细,但是就觉得有时候条件过...

2020-04-11 14:44:26 21 0

原创 Git 上传大于 100M 文件

安装 git-lfs 即可 git lfs install git lfs track "*.psd" // 大文件后缀(这里例子是 psd) git add .gitattributes // 配置好后就跟之前一样提交就行了

2020-03-16 11:46:37 29 0

转载 Go 语言中各种占位符的使用

够详细够全 Go语言中各种占位符的使用

2020-02-26 11:07:27 174 0

原创 JS 实现十六进制转浮点数

// 16 进制转浮点数 function HexToSingle(t) { t = t.replace(/\s+/g, ""); if (t == "") { return ""; } if (t == "0000...

2019-12-02 10:16:59 161 0

原创 JS 实现 DIV 可拖拽

/* 可拖拽 */ var dragBox = function (drag, wrap) { function getCss(ele, prop) { return parseInt(window.getComputedStyle(ele)[prop]); ...

2019-11-26 14:03:18 27 0

原创 Java 多线程程序的性能调校

本文摘抄自《Java 多线程编程实战指南》核心篇 第十二章小结 个人博客:DoubleFJ の Blog 本章介绍了与 Java 多线程程序紧密相关的性能调校常用技术。   Java 虚拟机自 Java 6 开始对内部锁进行了若干优化:锁消除、锁粗化、偏向锁以及适应性锁。除锁消除是 Java ...

2019-09-26 15:12:45 47 0

原创 多线程编程的硬件基础与 Java 内存模型

本文摘抄自《Java 多线程编程实战指南》核心篇 第十一章小结 个人博客:DoubleFJ の Blog 本章介绍了多线程编程的硬件基础以及 Java 内存模型的基础知识。   高速缓存是一个存取速率远比主内存大而容量远比主内存小的存储部件,其引入弥补了处理器与主内存处理能力之间的鸿沟。高速缓...

2019-09-09 17:53:00 63 0

原创 Java 异步编程

本文摘抄自《Java 多线程编程实战指南》核心篇 第九章小结 个人博客:DoubleFJ の Blog 本章介绍了同步计算与异步计算的概念,并介绍了 Java 平台对异步计算所提供的相关 API。   从单个任务的角度来看,任务的执行方式可以是同步的,也可以是异步的。同步方式的优点是代码简单/...

2019-09-02 14:03:55 220 0

原创 线程管理

本文摘抄自《Java 多线程编程实战指南》核心篇 第八章小结 个人博客:DoubleFJ の Blog 本章介绍了如何将线程管控起来以便高效/可靠地利用线程这种有限地资源。   线程组是 Thread.UncaughtExceptionHandler 的一个实现类,它可以帮助我们检测线程的异常...

2019-09-02 13:58:16 51 0

原创 线程的活性故障

本文摘抄自《Java 多线程编程实战指南》核心篇 第七章小结 个人博客:DoubleFJ の Blog 本章介绍了常见的线程活性故障以及相应的规避措施。   死锁会导致相关线程一直被暂停使得其任务无法进展。产生死锁的必要条件包括:资源互斥/资源不可抢夺/占用并等待资源以及循环等待资源。 我们可...

2019-08-26 16:18:21 115 0

原创 Spring JPA Data with REST

逛 Spring 官网学习总结 个人博客:DoubleFJ の Blog @RepositoryRestResource 看到这个注解,之前一直没有用到过,所以想要自己试试效果,顺道做下总结。 不想要看我废话想要直接看官网的 → Accessing JPA Data with REST 不想要...

2019-08-19 16:36:49 146 0

原创 保障线程安全的设计技术

本文摘抄自《Java 多线程编程实战指南》核心篇 第六章小结 个人博客:DoubleFJ の Blog 本章从面向对象编程的角度出发讲解了实现线程安全的几种常用技术。这些技术的运用通常可以产生具有固有线程安全性的对象,即这些对象本身无须借助锁就可以保障线程安全,从而有利于提高系统的并发性。本章还...

2019-08-19 10:10:13 38 0

转载 Ubuntu18.04 下安装 TeamViewer

ubantu18.04下安装teamviewer

2019-07-29 14:32:05 234 0

原创 线程间协作

本文摘抄自《Java 多线程编程实战指南》核心篇 第五章小结 个人博客:DoubleFJ の Blog 本章介绍了多线程编程中线程间常见的协作形式以及 Java 平台对这些协作形式所提出的支持。   等待线程可以通过执行 Object.wait()/wait(long) 来实现等待。通知线程可...

2019-07-29 14:24:59 43 0

原创 在实践中运用多线程

本文摘抄自《Java 多线程编程实战指南》核心篇 第四章小结 个人博客:DoubleFJ の Blog 本章介绍了利用多线程实现并发计算的基本方法以及多线程编程实践中的注意事项及应对措施。   挖掘出程序中的可并发点是实现多线程编程的目标——并发计算的前提。   实现并发化的策略包括基于数据的...

2019-07-22 09:53:50 53 0

原创 Java 线程同步机制

本文摘抄自《Java 多线程编程实战指南》核心篇 第三章小结 个人博客:DoubleFJ の Blog 本章介绍了 Java 平台提供的各种线程同步机制。   Java 线程同步机制的幕后助手是内存屏障。不同同步机制的功能强弱不同,相应的开销以及可能导致的问题也不同,如下表所示。因此,我们需要...

2019-07-15 09:33:34 87 0

原创 多线程编程的目标与挑战

本文摘抄自《Java 多线程编程实战指南》核心篇 第二章小结 个人博客:DoubleFJ の Blog 本章通过一些具体概念介绍了多线程编程的目标及其面临的挑战。 单线程程序所进行的计算本质上是串行。多线程编程的目标是将原本串行的计算改为并发乃至并行。 竞态(Race ...

2019-07-09 09:33:19 75 0

原创 走近 Java 世界中的线程

本文摘抄自《Java 多线程编程实战指南》核心篇 第一章小结 个人博客:DoubleFJ の Blog 本章介绍了线程、多线程编程这两个基本概念以及 Java 平台对线程的实现。 进程是程序的运行实例,一个进程可以包含多个线程,这些线程共享其所在进程的资源。 线程是进程中可独立执行的...

2019-06-17 09:26:31 56 0

原创 SpringBoot2 实现邮件发送功能

springboot2 实现邮件发送功能,QQ/Gmail/163/126… 个人博客:DoubleFJ の Blog 效果图如下: 技术选型 Spring Boot 2.1.3.RELEASE (原本官网推荐 2.1.5.RELEASE,可是搭建途中发现部分注解未生效,故改之) Thymel...

2019-06-05 10:20:52 1468 4

转载 Ubuntu 挂载硬盘

Ubuntu18.04开机挂载硬盘 ubuntu 16.04挂载2T机械硬盘

2019-05-20 11:38:44 113 0

转载 HTTP 报文详解

HTTP 报文详解

2019-05-06 15:50:14 93 0

原创 LeetCode 之总持续时间可被 60 整除的歌曲(Pairs of Songs With Total Durations Divisible by 60)

题目虽然有点长,不过可以化简为同一个类型的,就是两两配对其和是某个数的倍数。 原题描述如下: 在歌曲列表中,第 i 首歌曲的持续时间为 time[i] 秒。 返回其总持续时间(以秒为单位)可被 60 整除的歌曲对的数量。形式上,我们希望索引的数字 i < j 且有 (time[i...

2019-04-19 17:27:27 91 0

转载 解决 ajax 跨域问题

ajax跨域,这应该是最全的解决方案了 SpringBoot配置Cors解决跨域请求问题 SpringBoot2.x配置Cors跨域

2019-04-18 09:24:20 46 0

转载 springboot 项目打成公共 jar 包提供给其它项目

【springboot】如何在自己的springboot项目中引用别的springboot项目jar

2019-04-15 12:01:39 1366 0

转载 Java 8 新的时间日期库及使用示例以及时间格式转换

Java 8 新的时间日期库及使用示例

2019-04-03 11:42:51 148 0

原创 记录 otter 数据同步操作

整理下 otter 的操作使用 otter quickstart github docker 安装 zookeeper docker安装zookeeper单机版 Linux系统修改MySQL数据库字符编码为UTF-8的方法 Ubuntu18.04安装配置及使用aria2 解决:mysql5.7 t...

2019-03-27 09:12:21 312 0

转载 Ubuntu Server 安装图形界面

ubuntu server 上安装 x-window 的方法 ubuntu 下手动安装 X11 图形界面

2019-02-27 15:33:18 1100 0

转载 Ubuntu 18.04 安装无线网卡驱动以及修改时区

Ubuntu 18.04 安装无线网卡驱动 Ubuntu 18.04 修改时区

2019-02-27 10:00:49 613 0

原创 JVM 常用调优参数

记录下 JVM 常用的一些调优参数。 // 常见参数 -Xms1024m 初始堆大小 -Xmx1024m 最大堆大小 一般将 Xms 和 Xmx 设置为相同大小,防止堆扩展,影响性能。 -XX:NewSize=n:设置年轻代大小 -XX:NewRatio=n:设置年轻代和年老代的比值.如...

2019-02-21 14:32:57 127 0

原创 LeetCode 之反转链表(Reverse Linked List)

个人博客:DoubleFJ の Blog 前言 反转链表也是常见的面试算法题了。 何为链表? 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必须按顺序存储,链表在插入的时候可...

2019-02-19 13:29:59 156 0

原创 MySQL 中常用 SQL 的优化

个人博客:DoubleFJ の Blog 前言 之前介绍了 MySQL 中怎么样通过索引来优化查询。日常开发中,除了使用查询外,我们还会使用一些其他的常用 SQL,比如 INSERT、GROUP BY 等。对于这些 SQL 语句,我们该怎么样进行优化呢?接下来将针对这些 SQL 语句介绍一些优...

2019-02-13 17:16:22 122 2

原创 MySQL 中的索引问题

个人博客:Double の Blog 前言 索引是数据库优化中最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数的 SQL 性能问题。接下来将对 MySQL 中的索引的分类、存储、使用方法做详细的介绍。 索引的存储分类 MyISAM 存储引擎的表的数据和索引是自动分开存储的,各自是...

2019-02-13 17:14:57 150 0

原创 MySQL 中优化 SQL 语句的一般步骤

个人博客:DoubleFJ の Blog 前言 当面对一个有 SQL 性能问题的数据库时,我们应该从何处入手来进行系统的分析,使得能够尽快定位问题 SQL 并尽快解决问题。 show status 通过 show status 命令了解各种 SQL 的执行频率。 MySQL 客户端连接成功后,...

2019-02-13 17:13:42 72 0

原创 MySQL 中分布式事务的使用

个人博客:DoubleFJ の Blog 前言 MySQL 从 5.0.3 开始支持分布式事务,当前分布式事务只支持 InnoDB 存储引擎。一个分布式事务会涉及多个行动,这些行动本身是事务性的。所有行动都必须一起成功完成,或者一起被回滚。 分布式事务的原理 在 MySQL 中,使用分布式事务...

2019-02-12 15:09:16 2232 0

原创 MySQL 中 MyISAM 和 InnoDB 存储引擎的区别

欢迎访问个人博客:DoubleFJ の Blog 前言 和大多数数据库不同,MySQL 中有一个存储引擎的概念,针对不同的存储需求可以选择最优的存储引擎。 概述 插件式存储引擎是 MySQL 数据库最重要的特性之一,用户可以根据应用的需要选择如何存储和索引数据、是否使用事务等。MySQL 默认...

2019-02-11 15:07:01 73 0

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