自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Xu_JL1997的博客

温故而知新,可以为师矣。

转载 StarUML 导出图片显示未注册

看到一个方法非常不错,特意记录一下,转载自 简书 ,侵权删。 第一步,官网安装 StarUML(已经安装的跳过) 第二步,安装 Node.js(已经安装的跳过) 第三步,安装 asar StarUML 是用 asar 打包的,一行命令简单安装: sudo npm install -g asar ...

2020-05-15 11:18:30 113 0

原创 Nginx 部署 Vue 项目报 500 错误

今天在阿里云的 Ubuntu 上部署一个 Vue 项目,使用 Nginx 做代理,端口能正常访问,但 Nginx 一直响应是 500。 后来发现是 Nginx 访问不了 dist 文件夹,权限的问题,因为我把 dist 放在了 /root 目录下面。将 dist 放在 /var 目录下,问题就解决...

2020-04-25 16:27:38 767 1

原创 MyBatis 错误记录,可以精确查询,但模糊查询不成功

十有八九是字符编码问题,检查数据库创建的时候是否指定了字符集,创建表字段的时候有没有指定字符集。 一次使用MyBatis做模糊查询,使用的是简单的sql like(如 where name like #{name})语句,但是怎么查都查不出结果,将语句复制到一些sql工具(如mysql work...

2020-03-11 22:36:53 62 0

原创 集成 ijkplayer 时执行脚本 init-**.sh 慢

ijkplayer是B站开源的一款视频播放器,功能十分强大,特别适合直播平台。安装也很简单,按照 GitHub 的 README 文件指示执行几个脚本即可。 比如IOS集成(Android也是类似的): git clone https://github.com/Bilibili/ijkplayer...

2020-02-18 16:30:35 209 0

原创 Swift 代码配置 IBAnimatable 动画无效

如果你发现你使用下面的代码,动画效果不出现时,那这篇文章可以帮到你。 let view = AnimatableView() view.animate(.pop(repeatCount: 1)) 查阅源代码可以知道,animate()这个方法有很多个参数,你可能发现当你配置了所有的参数的时候你的...

2020-02-11 20:02:37 106 0

原创 Swift 4/5 编写的一款头像图片裁剪器,可平移缩放图片

代码思路来自 DRImageCropper ,但它是基于 Swift 3.0 的,我做了版本的升级和一些优化,如有侵权请联系我删除。 如果这个项目帮到你请别忘了Star,这是我前进的动力,谢谢支持。 效果图 ...

2020-02-10 18:58:33 184 0

原创 Swift 4 最新版“沉浸式”效果,导航栏下滑改变透明度

代码地址:GitHub 仓库 - HideNavigationbarDemo 以前的沉浸式做法有很多,比如拿到 navigationBar 的 backgroundImage 修改透明度,或者往 navigationBar 的view层加一个占位的视图,修改这个占位视图的透明度在视觉上形成直接修...

2020-02-04 22:05:33 193 0

原创 Swift 4 UINavigationController导航栏添加按钮UIBarButtonItem无效

设置UINavigationController的rootViewController属性后,root页面的上方会自动补充一个导航栏(实际上是Navigation Item),如下: 如果是使用StoryBoard,我们可以直接拖拽UIBarButtonItem加入按钮。 如果我们使用的是代码控...

2020-01-15 13:59:00 409 0

原创 Swift 5 一款简单、灵活的下拉框(文本输入下拉框)

代码地址: github.com/XuJiaLe1997/DropBoxDemo I 思路 以TableView为基础,提供一个可以灵活地实现文本输入选择、菜单选择的下拉框。 第一张效果图展示了从StoryBoard直接拖拽TextField、通过代码添加TextField...

2020-01-13 00:01:12 1169 7

原创 IOS Swift 课程项目 —— 购书 APP

开源给有IOS课的同学,仅供参考,尊重版权。 GitHub地址:购书App 完成的功能有: 登录 注册 查看书详情 添加购物车 结算 剩下的功能有空再补充… 效果图 主页: 空的购物车: 未登录的个人中心: 书籍详情页面: 添加购物车(库存为0的情况): 有条目的购物车: 结算: ...

2019-12-20 23:46:53 101 0

原创 JPA 中 @JoinColumn 的 name 和 referencedColumnName 属性怎么辨别

一、@JoinColumn @JoinColumn 的作用就是声明关联关系的,什么是关联关系? 就是我们在数据库设计时常说的一对多、多对一、多对多关系。因此,@JoinColumn 必须和这些关系注解一起使用,否则是没有意义的。 二、name 和 referencedColumnName 刚开始接...

2019-11-11 21:55:03 5083 4

转载 ORA-12154: TNS: 无法解析指定的连接标识符

原文链接:(博客园) ORA-12154: TNS: 无法解析指定的连接标识符 安装 Oracle 时帮助很大,特意转载过来。如有侵权,请留言联系我删除。 相信使用过Oracle数据库的人一定碰到过“ORA-12154: TNS: 无法解析指定的连接标识符”错误,我在此做一个小小的总结。(转者:...

2019-09-11 15:02:23 1657 0

原创 IDEA +Tomcat + maven 搭建 Dubbo REST 项目

本文主要介绍在 IDEA 环境下开发 Dubbo 的 REST 风格项目,并结合 IDEA 部署到外部 Tomcat 上,文章提供了具体的 Github 项目供读者使用。

2019-08-16 14:05:57 109 0

原创 Wineskin不能打开添加的程序?macOS版本太高?

如果想要在 macOS 上运行 Windows 下的程序,除了双系统/虚拟机,估计就只剩下 wine 了,Wineskin/Crossover 其实都是 wine 的一套工具。Wineskin 是免费的,Crossover 永久许可也就 100 多,界面好看点,稳定。(吐槽 Wineskin即使装...

2019-08-07 19:54:42 3689 6

原创 更换 Git 代码托管平台(保留历史提交记录)

有一个项目一直在GitHub上开发,突然被告知要换托管平台,最简单的做法当然是直接拷贝一份代码,重新建个仓库。 但是之前的版本记录就丢失了,下面介绍不需要重建仓库的做法。 方法 本地克隆一份源仓库的裸版本库。$ git clone --bare 源项目.git 在新的托管平台上...

2019-06-19 20:29:21 154 0

原创 Spring 与 Mybatis 中的 @Repository 与 @Mapper

使用注解的方式开发Dao层的时候,常常会混淆这两个注解,不知道怎么添加,这里做个记录。 1 - @Mapper @Mapper 是 Mybatis 的注解,和 Spring 没有关系,@Repository 是 Spring 的注解,用于声明一个 Bean。(重要) 使用 Mybatis...

2019-06-05 20:22:27 16354 21

原创 解决报错dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib

在调用npm的时候报错。 简单来说就是链接失效了,其实就是版本的问题。 我的 node 很久没有更新了,以前安装的时候 node 依赖的是62版的 icu4c,但是 homebrew不知道什么时候更新了 icu4c,比如我就是更新到了64版的,这样之前安装的 node 依赖62版的 icu4c ...

2019-05-26 20:50:33 5702 0

原创 后台开发如何区分Http请求的用户,记录登录状态

写在前面:本文主要讲解两种后台开发如何区分Http请求用户的方式,附加部分Java后端代码的实现。如果同学们使用其他语言编写后端,可以阅读完文章后Google其他语言的代码实现,思路大体上是一样的。 (一)引言 1. 为什么需要区分Http请求的用户? Http是一种无状态的协议,也就是...

2019-05-18 21:36:48 2737 1

原创 分布式事务实战:分布式环境下的最终一致性与消息事务

摘要:CAP 理论中的强一致性与可用性的告诉我们两者不可兼得,并由此催生出了 BASE 理论,将强一致性和可用性弱化为最终一致性和基本可用性。本文主要叙述笔者对最终一致性实现的理解,希望对大家有帮助。 1 - 分布式事务 在单机应用上,我们使用事务是很方便的,因为所有的业务逻辑都在本地,数...

2019-05-15 21:13:30 452 0

原创 LeetCode 911. 在线选举题目样例图解

在选举中,第 i 张票是在时间为 times[i] 时投给 persons[i] 的。现在,我们想要实现下面的查询函数: TopVotedCandidate.q(int t) 将返回在 t 时刻主导选举的候选人的编号。在 t 时刻投出的选票也将被计入我们的查询之中。在平局的情况下,最近获得投票的候...

2019-05-05 20:55:42 232 0

原创 从源码理解 Spring 如何管理数据库连接

1 - 引言 在了解 Spring 中数据库连接池的实现机制时,看到一些新知识,但是单纯的文字或实验描述并不能让我深入了解这些知识。 Spring DAO 对所有支持的数据访问技术框架都使用模板化技术进行了薄层的封装。只要您的程序都使用 Spring DAO 模板(如 JdbcTempla...

2019-05-02 13:35:25 683 0

转载 Java 锁的使用与锁的类型

1 概念 1.1 线程安全 指在并发的情况之下,该代码经过多线程使用,线程的调度顺序不影响任何结果。这个时候使用多线程,我们只需要关注系统的内存、cpu是不是够用即可。反过来,线程不安全就意味着线程的调度顺序会影响最终结果,如不加事务的转账代码: void transferMoney(Use...

2019-04-29 09:43:11 723 0

原创 JDK 1.8 下的 StringBuilder 和 StringBuffer 区别与源码分析

1 - 引言 在 Java 中,String 被设置为不可变类,JDK 开发人员很小心地保证 String 的底层存储结构 private final char[] value 不被修改。所有对字符串的直接赋值操作,实际上都将字符串变量指向了新的 String 对象。 对于需要对字符串进行大量...

2019-04-25 17:09:03 478 0

原创 JDK 1.8 下的 java.lang.Class 对象和 static 成员变量在堆还是方法区?

背景 从 JDK 1.7 开始,Oracle 团队就开始对 HotSpot VM 的永久代(PermGen)大刀阔斧的修改、移除,导致 HotSpot 的内存区域发生了很多改变,最终在 JDK 1.8 元空间(Metaspace)取代了永久代成为 HotSpot VM 对方法区的实现。 我们入...

2019-04-21 15:41:15 3535 3

原创 Java 学习笔记:使用反射机制暴力拆封 String

Java 中的 String 具有不可修改性。 看下面这段代码。 String a = "abc"; System.out.println(a); a = "bce"; System.out.println(a); 前后两次打印的结果虽然不同,但实际上是...

2019-04-19 10:24:40 114 0

原创 Java 中容易混淆的概念:Java 8 中的常量池、字符串池、包装类对象池

1 - 引言 摘录一些网上流传比较广泛的认识,但如果你认为只懂这些就够了,这篇文章就没有必要继续看下去了!!! 常量池分为静态常量池、运行时常量池。 静态常量池在 .class 中,运行时常量池在方法区中,JDK 1.8 中方法区(method area)已经被元空间(metaspace...

2019-04-12 14:26:12 995 6

原创 动态规划(二)背包问题应用

题目关键词:角色扮演、金钱、贿赂、多对一(咦!?) 题目 小Q在玩闯关游戏,会在关卡依次遇到 nnn 只怪兽,每只怪兽都会有自己的武力值。为了顺利闯关,小Q需要使用金币贿赂怪兽,并携带被贿赂的怪兽继续闯关。如果携带的所有怪兽的总武力值低于遇到的怪兽的武力值,必须继续贿赂。请问,小Q至少使用多少...

2019-04-11 23:20:00 260 0

原创 动态规划(一)详解背包问题

在许多算法中都有子程序重复计算的问题。在 Fibi 计算中采用的存储前面几个结果数值的方法并不是很通用。这样, 在很多情况下存储中间结果全列表的方法就非常有用了。 这种存储子程序结果列表的算法设计方法就称为动态规划(dynamic programming)。 ——《数据结构与算法分析(C++版...

2019-04-08 20:25:33 370 0

转载 斐波那契数列问题

以下内容摘自《剑指offer》,个人梳理使用,如有侵权请联系删除。 1 - 斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列...

2019-04-06 17:43:59 282 0

原创 Git 学习笔记:使用 reset、checkout 撤销修改的效果与区别

写在前面:本文通过实例详细分析各种情况下使用 reset、checkout 达到撤销修改的效果。 一、简单介绍 几个简单概念:工作区、暂存区、分支 没有 add 之前的文件都只在工作区中,add 之后文件将会添加到暂存区,commit 之后统一提交到分支,也就是更...

2019-04-04 21:40:00 696 1

原创 BAT 面试题:25匹马,5个跑道,每个跑道最多能有1匹马进行比赛,最少比多少次能比出前3名?前5名?

写在前面:最近在刷面试题的过程中遇到这么一道题,感觉解读题目的角度很多,这里介绍自己的做法。注意:本文并不是参考答案,只是为大家在面试的时候多提供一条思路,或许可以获得面试官的青睐。 25匹马,5个跑道,每个跑道最多能有 1 匹马进行比赛,最少比多少次能比出前 3 名?前 5名? 1 ...

2019-04-04 20:59:12 1321 0

原创 Android: Fragment的各种使用场景

1、兼顾平板与手机的编程。 2、需要对某个页面进行反复替换——动态添加碎片 第一种方案:使用replace() 具体流程: (1)主布局中嵌入 FrameLayout 作为容器,用于将承载 Fragment 。 (2)使用 FragmentManager ...

2019-03-31 19:20:24 1079 2

原创 C++ 学习笔记:深入理解 i++与 ++i

1 - 引言 还记得刚上大学学C++的时候,对于自增的操作,我的理解就是 ++ 符号在变量之前,就先对变量进行自增加 1 ,如果 ++ 位于变量之后,就在运算结束之后对变量加 1。 这种理解很浅显, 但我感觉很实用,至少对一个初学者来说。比如猜测下面的输出: int i = 0; printf(&...

2019-03-30 22:15:29 75 0

原创 Android:Fragment与导航栏的“懒加载”

2018 写在前面:这篇文章主要分析导航栏,也就是ViewPager+Fragment+FragmentPagerAdapter的懒加载模式,重点还是Fragment生命周期的应用。 如果对如何使用导航栏还不太了解,可以看看 底部导航栏标签切换的实现 这篇文章。 (一)Fragmen...

2019-03-29 22:51:52 476 0

原创 C/C++ 学习笔记:typedef struct的用法区别

摘要:参考了一些文章后,对C/C++程序中的声明struct的方法有一些体会,做个记录。希望通过博客加深自己的理解。 C 程序中定义结构体 1. 不使用 typedef 实例如下,C中的结构体定义与C++不同,在下面的例子中不能直接使用StructTemp声明实例,必须加上关键字 str...

2019-03-27 21:12:01 115 0

转载 转载一篇适合初学者的关于孤儿进程与僵尸进程的文章

摘要:孤儿进程与僵尸进程是操作系统中常见的两个概念,对于我们学习操作系统十分重要,第一部分就两者基本概念展开叙述,通过生动的比喻加深我们的理解,第二部分主要讨论两者的危害性,在第三部分笔者通过C/C++代码分析产生的原因,最后提出了两种解决方案。本文通俗易懂,风格幽默,令我受益匪浅,故分享给大家!...

2019-03-25 20:03:08 181 0

原创 求数组两个元素与(&)运算最大值,异或(^)运算最大值

问题 给定一个数组 A[n]A[ n ]A[n],求max(A[i] & A[j])max(A[i] \ \& \ A[j])max(A[i] & A[j]),其中i≠ji \ne ji̸​=j。 分析 显然这...

2019-03-22 10:49:12 600 0

转载 入门即时通讯(二)如何选择数据传输格式

摘要:本文主要讲述即时通讯开发中的数据传输格式的相关知识,其中大部分内容转载自即时通讯网,底部已附上该论坛链接。 背景 可选择的协议或封装格式多种多样 可选择的余地很大:XMPP、Protobuf、JSON、私有2进制、MQTT、定格化XML、Plain text等等; 同一种格式...

2019-03-16 22:04:41 148 0

转载 入门即时通讯(一)

写在前面:本文转载自简书网,底部已给出原文链接,相信会对初次接触即时通讯开发的同学很多帮助。 初涉IM,首先我有这么几个问题需要弄明白: Socket 和 WebSocket 有哪些区别和联系? WebSocket 和 HTTP 有什么关系? WebSocket 和 HTML5 是什么...

2019-03-16 21:56:26 330 0

转载 约瑟夫环问题(圆圈中最后剩下的数字)的数学推理解法

问题描述 约瑟夫环(Josephuse)是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。 准备 假设编号从...

2019-03-14 19:44:32 284 0

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