自定义博客皮肤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的博客

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

  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

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

看到一个方法非常不错,特意记录一下,转载自 简书 ,侵权删。第一步,官网安装 StarUML(已经安装的跳过)第二步,安装 Node.js(已经安装的跳过)第三步,安装 asarStarUML 是用 asar 打包的,一行命令简单安装:sudo npm install -g asar第四步,解压 app.asar先找到这个压缩包,应用程序 -> StarUML -> 显示包内容 -> Content -> Resources -> app.asar将 app

2020-05-15 11:18:30 2186

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

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

2020-04-25 16:27:38 9315 6

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

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

2020-02-18 16:30:35 2566 2

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

代码地址:GitHub 仓库 - HideNavigationbarDemo以前的沉浸式做法有很多,比如拿到 navigationBar 的 backgroundImage 修改透明度,或者往 navigationBar 的view层加一个占位的视图,修改这个占位视图的透明度在视觉上形成直接修改navigationBar 的效果。上面的做法我都试过,也许是版本过时了。第一种 navigati...

2020-02-04 22:05:33 1114

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

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

2020-01-15 13:59:00 2199

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

代码地址:github.com/XuJiaLe1997/DropBoxDemoI 思路以TableView为基础,提供一个可以灵活地实现文本输入选择、菜单选择的下拉框。 第一张效果图展示了从StoryBoard直接拖拽TextField、通过代码添加TextField和结合菜单键实现菜单的三种效果。第二张效果图来源于我们开源的一个课程作业项目,我们应用下拉框来实现账...

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

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

一、@JoinColumn@JoinColumn 的作用就是声明关联关系的,什么是关联关系?就是我们在数据库设计时常说的一对多、多对一、多对多关系。因此,@JoinColumn 必须和这些关系注解一起使用,否则是没有意义的。二、name 和 referencedColumnName刚开始接触这两个属性会觉得很难理解,特别是看书的时候总是分不清,比如 User 表关联 Address 表:...

2019-11-11 21:55:03 17926 7

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

原文链接:(博客园) ORA-12154: TNS: 无法解析指定的连接标识符安装 Oracle 时帮助很大,特意转载过来。如有侵权,请留言联系我删除。相信使用过Oracle数据库的人一定碰到过“ORA-12154: TNS: 无法解析指定的连接标识符”错误,我在此做一个小小的总结。(转者:我是在安装PL/SQL Developer时遇到的)一、一般情况,需要配置client网络服务在程...

2019-09-11 15:02:23 4235

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

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

2019-08-16 14:05:57 543

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

如果想要在 macOS 上运行 Windows 下的程序,除了双系统/虚拟机,估计就只剩下 wine 了,Wineskin/Crossover 其实都是 wine 的一套工具。Wineskin 是免费的,Crossover 永久许可也就 100 多,界面好看点,稳定。(吐槽 Wineskin即使装上了,能不能跑起来也是看天意了)。下面进入正题。按照教程装好 wineskin 后,无论怎么点击添...

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

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

使用注解的方式开发Dao层的时候,常常会混淆这两个注解,不知道怎么添加,这里做个记录。1 - @Mapper@Mapper 是 Mybatis 的注解,和 Spring 没有关系,@Repository 是 Spring 的注解,用于声明一个 Bean。(重要)使用 Mybatis 有 XML 文件或者注解的两种使用方式,如果是使用 XML 文件的方式,我们需要在配置文件中指定 XML 的...

2019-06-05 20:22:27 40846 31

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

在调用npm的时候报错。简单来说就是链接失效了,其实就是版本的问题。我的 node 很久没有更新了,以前安装的时候 node 依赖的是62版的 icu4c,但是 homebrew不知道什么时候更新了 icu4c,比如我就是更新到了64版的,这样之前安装的 node 依赖62版的 icu4c 被覆盖了,找不到了,自然就报我们没有 “Library not loaded” 的错误。解决的办法很...

2019-05-26 20:50:33 20930 1

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

写在前面:本文主要讲解两种后台开发如何区分Http请求用户的方式,附加部分Java后端代码的实现。如果同学们使用其他语言编写后端,可以阅读完文章后Google其他语言的代码实现,思路大体上是一样的。(一)引言1. 为什么需要区分Http请求的用户?Http是一种无状态的协议,也就是说Http并没有记录连接状态的功能。没有状态的情况下意味着服务器不能确认这一次请求和下一次请求是否来源于同一个...

2019-05-18 21:36:48 8006 3

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

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

2019-05-15 21:13:30 1107

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

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

2019-05-05 20:55:42 474

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

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

2019-05-02 13:35:25 1821

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

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

2019-04-29 09:43:11 1132

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

1 - 引言在 Java 中,String 被设置为不可变类,JDK 开发人员很小心地保证 String 的底层存储结构 private final char[] value 不被修改。所有对字符串的直接赋值操作,实际上都将字符串变量指向了新的 String 对象。对于需要对字符串进行大量修改的程序来说,例如对字符串进行拼接,会产生很多无用的 String 实例,所以我们常常会使用 Strin...

2019-04-25 17:09:03 1163

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

背景从 JDK 1.7 开始,Oracle 团队就开始对 HotSpot VM 的永久代(PermGen)大刀阔斧的修改、移除,导致 HotSpot 的内存区域发生了很多改变,最终在 JDK 1.8 元空间(Metaspace)取代了永久代成为 HotSpot VM 对方法区的实现。我们入门虚拟机的学习大多是通过《Java 虚拟机规范》、《深入理解Java虚拟机》这两本经典。但是由于 Java...

2019-04-21 15:41:15 11979 7

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

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

2019-04-12 14:26:12 4001 10

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

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

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

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

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

2019-04-04 20:59:12 3869 3

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

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

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

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

2018写在前面:这篇文章主要分析导航栏,也就是ViewPager+Fragment+FragmentPagerAdapter的懒加载模式,重点还是Fragment生命周期的应用。如果对如何使用导航栏还不太了解,可以看看 底部导航栏标签切换的实现 这篇文章。(一)Fragment生命周期大家都知道 Fragment 是绑定 Activity 的,不过,很多人会忽视了它们的生命周期也是会...

2019-03-29 22:51:52 814

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

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

2019-03-25 20:03:08 326

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

问题给定一个数组 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。分析显然这道题目实际上是二进制运算问题。以下图(a)的数组为例:对于&运算来说,相同位置上的数字同时...

2019-03-22 10:49:12 4432 1

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

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

2019-03-14 19:44:32 1198

转载 转载一篇适合初学者“区分自由浮动时间和总浮动时间”的文章

摘要:本文讲解了自由浮动时间和总浮动时间的概念与计算。初涉这两个名词的同学往往会有点迷糊,本文通过从对工期的影响入手,大大提高了可记性,故分享给大家。项目进度网络图:( 转者:所谓的时差就是 |ES - LS| 或者 |EF - LF| )自由浮动时间( Free Flow)在不延误其紧后进度活动最早开始日期的前提下,某进度活动可以推迟的时间量。这里解释一下上面这个官方定...

2018-11-11 11:21:38 16814 2

原创 《Spring Cloud 与Docker 微服务架构实战》笔记摘要与PDF电子书分享

写在前面:最近阅读了周立老师的《Spring Cloud 与Docker 微服务架构实战》,故开文整理,力求最快速、简洁地将内容梳理清晰,掌握书中提到的技术点。一、目录与概要全书共14章1、微服务架构概述内容: 对微服务概念的一些概念阐述、应用场景、实现思路等。重点:主要理解微服务是为解决什么问题而存在,可以怎样利用微服务解决这些问题。建议:快速浏览,略微熟悉即可。2、微服务开发框...

2018-10-27 10:14:31 3044 2

原创 无法连接到VisualSVN Server,无法连接SVN服务器

使用checkout指令从SVN服务器下载代码一定要注意格式。svn checkout svn://xxx.xxx.xxx.xxx/ --username=your_name --password=your_password这是网上许多教程给出的答案,但却遗漏了比较重要的一点,那就是SVN服务器的协议。重点:需要根据协议来书写名令才能正确拉取代码,有svn协议和http协议。如果使用类似...

2018-10-19 17:43:33 3486

原创 Python如何将CSR等稀疏矩阵转化为numpy中的一般矩阵

写在前面:使用sklearn.datasets的load_svmlight_file()时获取到一个稀疏矩阵,因为初涉python,不敢轻易尝试稀疏矩阵运算,打算将其转化为numpy库中的一般矩阵(matrix)。稀疏矩阵形式:>>> print(data) (0, 0) -1.0 (0, 1) -0.64 (0, 2) ...

2018-10-13 10:53:17 13546 4

原创 入门 Java 后台开发,轻量级框架Spring+SpringMVC+MyBatis (SSM)的使用

写在前面:这篇文章是写给刚刚接触或者准备学习web/APP应用开发的同学的,分享我的后台开发经验。文章较长,查看目录请将看文章右侧的悬浮栏。(一)不用框架开发Java后台你也许曾经Google/百度过“如何编写在服务器上运行的程序”、“怎样搭建一个服务器”这些关键词句,那么一定会有所了解servlet、tomcat。你肯定也百度过“后台怎么操纵数据库”这类问题,那么JDBC你一定不会陌生。...

2018-09-28 14:46:09 2241 1

原创 Android Studio 使用 Http Proxy 代理导致虚拟机无法联网,无法删除代理 proxy

最近安装了最新的Android Studio版本,相信大家都知道安装过程是比较多坑点的。由于来源多数是在国外,很多资源需要提前下载。为了图方便,尝试使用代理来解决下载问题,也就是俗话说的搭梯子。只需下载指定安装包就是一路next,一切安装顺利。问题描述遇到一个问题,我将之前写的一个小程序拿到新版测试,里面需要使用到 Http 请求,以往都是直接打开虚拟机就跑,可是这次测试却发现,虚拟机一直显示...

2018-09-15 15:06:43 4844 3

原创 RecycleView设置多个适配器(Adapter)无法显示布局

问题我想要为一个RecyleView设置多个适配器,实现切换布局的效果,在虚拟机上测试完全没问题,实现了点击更换适配器的效果。但是安装在真机上进行测试时发现点击后布局没有加载,整个RecycleView是空白的。原本的实现思路直接调用 RecycleView 的setAdapter() 来重置适配器,更换布局,可是失败了。仔细观察发现,每次在 onCreateView() 中更新 Recyc...

2018-09-11 11:18:51 2459

原创 Android底部导航栏标签切换: ToolBar+TabLayout+ViewPager+Fragment

本文主要讲述实现以及Fragment切换之间如何优化,减少内存的开销,相信不少朋友吃过Fragment生命周期的亏。话不多说,切入正题。1、结合ToolBarTabLayout+ViewPager+Fragment实现的底部导航功能 效果 与 分析效果图如下,一般的手机应用首页就是这种样式,包括手机淘宝、QQ、微信。我的主页QQ下面是新版QQ的界面,底部的导航栏实现的是切...

2018-09-07 18:17:05 1269

原创 Android:使用OkHttp框架与后台通信、获取数据

摘要:本文介绍了Android应用如何与服务器通信的一些机制,并分享了笔者的一些开发经验与技巧,通过具体的代码描述OkHttp框架的使用,适合初学者。1 - 引言不太严谨地说,接入网络的终端(手机、主机等)都是通过网络层(IP层)的报文/数据报进行沟通的(而向具体的某个程序递交报文是传输层的事)。具体可以参考百度百科-五层因特网协议栈的一些介绍,我们只需要了解一些基本原理就好了。狭义的理解...

2018-09-06 22:34:13 6727 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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