自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ToSimple的博客

微信公众号:ToSimple

  • 博客(26)
  • 收藏
  • 关注

原创 Java(Spring) 中 cron 表达式常用场景汇总

概述在开发过程中经常要用到定时任务,来执行一些特定程序。而 Java(Spring) 可以方便的使用 cron 表达式来实现定时任务。本文将介绍 cron 表达式,并且对常用的定时任务场景,给出对应的 cron 表达式,相信能为你节省一些资料查找的时间。CRON表达式简介CRON表达式是一个字符串,在 Java(Spring) 中包含6个由空格分隔的字段,表示一组时间,通常作为执行某个程序的时间表。以 Java(Spring) 为例说明:* * * * * *上面的表达式有6个字段,从第1个到

2021-09-14 17:25:12 1151

原创 Jetpack 技术内幕探索之 LiveData

​背景 LiveData 是 Jetpack 的一个成员库,从名字可以看出,这个库想要构建一个实时数据。而其实现确实也是朝着这方向去做的,当 LiveData 中的数据有变化时,会有一个机制通知外部数据变化。 不仅如此,LiveData 还是一个生命周期感知的组件,接下来会带着几个问题,结合源码对其进行分析。LiveData 为了解决什么问题? 应用开发时,当需要异步加载数据,大多是通过回调的方式,来通知更新 UI 。而更新 UI 前需要判断当前 Activity 或 Fragment 的生命周期,

2021-04-30 16:03:28 802 2

原创 设计模式––装饰模式

概述装饰模式主要用来动态的拓展现有的功能。主要包含四个角色,抽象构件 Component,具体构件 ConcreteComponent,抽象装饰类 Decorator,具体装饰类 ConcreteComponent。具体类图可参考类图小节。当需要给已有的具体构件拓展新功能时,增加具体装饰类即可,很灵活。核心思想有一个最基础的抽象构件 Component 类,ConcreteComponent 和 Decorator 都继承自 Component,并且 Decorator 聚合 Component。一般

2021-01-02 18:11:00 2140 1

原创 yarn 和 npm 的镜像切换

概述由于一些原因,访问国外镜像时速度慢或访问超时,不得不切换成国内镜像;而切换到国内镜像后,有时项目引用新的依赖后,又会报奇奇怪怪的错误,这时又需要切到国外镜像,开个访问外网的软件。下面简单做一下记录。设置为淘宝镜像npm 设置为淘宝镜像npm config set registry https://registry.npm.taobao.org/yarn 设置为淘宝镜像yarn config set registry https://registry.npm.taobao.org/

2021-01-02 13:05:33 1387

原创 You have JVM property “https.proxyHost“ set to “127.0.0.1“ 警告问题解决

Android Studio 上配置代理后,出现 You have JVM property "https.proxyHost" 警告问题分析和解决。

2020-09-14 14:49:33 17920 5

原创 JS中的 setTimeout 和 clearTimeout

前言有时需要延迟执行某个函数,可以考虑使用 setTimeout 方法;如果在超时时间内发生了某个事件,想要取消执行之前设置的方法,可以使用 clearTimeout 清理掉之前设置的 timeout 对象。setTimeoutsetTimeout(function() { console.info(‘exec action')}, 3000)setTimeout 有两个参数,第一个参数是一个函数,表示需要延迟执行的函数。第二参数是延迟时间,默认单位为毫秒,上面表示 3000 毫秒。

2020-06-30 17:40:19 1690

原创 Android 中使用的阿里 mirrors

概述Android 使用 gradle 来构建项目,默认使用的 jcenter() 和 google() 仓库在国内使用,访问速度慢,经常 sync 一次要等半小时,结果还提示失败。通过几行配置,切换成阿里的镜像服务器后,sync 速度相当快。本文档针对某一个项目修改仓库镜像,如果要针对所有项目修改,需要修改 Maven 的全局配置文件 settings.xml什么是镜像?镜像一般是指对某...

2020-03-31 10:25:59 580

原创 Android VelocityTracker 滑动速度追踪

应用开发过程中,会有类似这样的需求,检测手指滑动距离或在某一个方向的滑动速度,当滑动距离或在某一个方向的滑动速度达到临界值时,将 View 消失或进行其他的业务逻辑处理。

2019-09-27 16:29:33 1494

原创 Android 剪切板 ClipboardManager 基本操作

在 Android 应用中复制某一段文本,可以在另外一个应用中进行粘贴。其内部是通过 ClipboardManager 来实现的。下面就来看看如何通过 ClipboardManager 来操作剪切板内容。

2019-09-19 23:06:38 2048

原创 使用 Gson 将 Map 转为 json string

有时跟服务端通信时,需要将一个 Map 对象,以 json string 的形式传递到服务端。如果一个一个的拼接,显的有点麻烦,使用 Gson 可以方便的解决。

2019-09-17 23:23:48 5994 2

原创 Sqlite 中大小写不敏感查询/删除某条记录

有时会需要忽略值的大小写来进行 sql 查询。数据库中存储的某个字段的值(字符串) 是大小写不固定的,所以单纯的把参数强转为大写或小写,也无法匹配成功,不过 sql 支持 upper 和 lower 函数,可以很好的解决这个问题。

2019-07-29 22:52:17 585

原创 Java 使用正则表达式匹配淘口令

项目中被正则表达式的反斜线问题坑了几次了,今天恰好用到正则表达式的匹配,又遇到饭斜线的处理,记录一下。先对比其他语言和 Java 语言中反斜线,最后再给出淘口令匹配的案例。

2019-07-17 10:16:27 7083

原创 VS Code 打开新文件会覆盖之前打开的文件 tab 问题处理

在 Mac 上使用 VS Code 2019 (1.36.0 版本)时,经常单击一个文件打开后,再单击打开另一个文件时,新打开的文件会占用之前打开文件的位置,即之间打开的文件被关闭了。

2019-07-12 17:59:51 5944 1

原创 LeakCanary 的使用及原理分析(Activity内存泄露监测)

Android 应用开发过程中,经常会遇到各种情况下的 Activity 内存泄露。一旦出现泄露,可能会引起应用内存占用过高,出现卡顿或者 OutOfMemoryError,所以在开发阶检测出内存泄露问题非常有必要。而 LeakCanary 是一个在开发阶段检测 Activity 内存泄露的一个利器。

2019-07-11 15:36:25 323

原创 Android中 Parcelable 的应用,以及与 Serializable 的对比

在 Android 应用开发中,经常需要在 Activity 间传递参数,有时还需要传递 Java 对象。而传递对象有两种实现方式,一种是使类实现 android.os.Parcelable 接口,另外一种是使类实现 Serializaable接口。

2019-07-09 16:56:28 122

原创 Java 中 ThreadLocal 原理分析

ThreadLocal 出现主要是将变量进行线程隔离,把变量的值跟线程绑定。

2019-07-05 10:18:36 146

原创 Java 中 Collections.synchronizedList(List「T」 list) 原理分析

前言Java 中 ArrayList 和 LinkedList 都不是线程安全的,但可以通过 java.util.Collections.synchronizedList(List list) 方法,获取一个线程安全的 List 实例对象。设计意图将非线程安全 List 对象,封装成一个线程安全的 List 对象,处理 List 上的并发性问题。类似一个工具类,减少开发人员的重复性工作。线...

2019-06-28 14:46:30 14560 2

原创 使用 SpringBoot 发送邮件时,出现 Mail server connection failed 异常问题

阿里云 ECS 上,发送邮件时报 Mail server connection failed 问题处理。原因是阿里云 ESC 上默认禁用了 25 端口,即邮件发送时无法通过 25 端口与邮件服务器建立连接,导致连接超时问题。

2019-06-25 09:40:34 31886 5

原创 Sqlite3 常用命令行使用

背景在手机上,我们经常会需要查看手机上的数据库去定位一些问题,这时如果能够直接进入手机终端,然后通过命令行去查询数据库,那将是一件非常方便的事情。前提条件由于计划要访问手机里 /data/data/ 下的某个应用数据库,所以手机需要获取 root 权限,才能访问这个用户数据目录。本文以 /data/data/com.android.providers.media/databases/ext...

2019-06-23 11:57:17 2515 4

原创 SpringBoot 中实现邮件发送功能

在项目中有相关需求,需要发送相关数据到指定 163 邮箱,发现在 SpringBoot 上实现邮件发送非常简单,这里记录一下。

2019-06-19 15:30:14 1449

原创 Activity 的四种启动模式解析

前言在 Android 系统中,Activity 是 Window 的载体。日常界面开发中,开发者需要经常跟 Activity 打交道。一般我们只需要在 AndroidManifest.xml 文件中注册一下自定义的 Activity,然后在具体类中实现相关界面、数据加载、处理相关生命周期相关方法,再启动它即可。Activity 启动时,有四种启动模式,通过在 manifest 的 <a...

2019-06-13 09:51:12 142

原创 tomcat 配置文件 conf/server.xml 中的 appBase和docBase

前言最近在 tomcat 配置和部署应用时,踩了一些坑,主要是关于在 ${CATALINA_HOME}/conf/server.xml 配置文件里的 Host 节点属性 appBase,及 Host 节点子节点 Context>的属性 docBase。我是将项目打成 App1.war 包,然后把 war 包上传到 tomcat 的相关目录,启动部署。部署方案1. 默认配置,不修...

2019-05-31 14:46:43 4706

原创 Tomcat 启动时报 java.net.BindException: Address already in use[localhost:8005]

背景在本地通过命令行 ./bin/catalina.sh run & 启动 tomcat 时,发现无法启动,提示 8005 端口被占用。报错信息30-May-2019 17:09:30.762 严重 [main]org.apache.catalina.core.StandardServer.await StandardServer.await:create[localhost:...

2019-05-30 17:27:43 4044

原创 Java 通过 Random 生成随机数实现概率问题

背景服务端收到一条请求,要控制这条请求以 10% 的概率让 Worker1 处理,以 90% 的概率让 Worker2 处理,Java 实现。分析通过 Java 中的 java.util.Random 随机生成一个 [0, 100) 区间的整数。0 ~ 99 之间,每个数字出现的概率是 1%,那么这个随机整数落在 [0, 9) 区间的概率是 10%,落在 [10, 100) 之间的概率就...

2019-05-28 10:25:51 2458

原创 SpringBoot 配置 @Scheduled 定时器执行两次问题

描述应用部署到 tomcat 后,每次到定时器触发时,同一个事件总是在统一时刻被触发两次。分析发现一个奇怪的现象,在本地调试时,按照同样的方法配置, @Scheduled 配置的定时任务,在触发时只会被执行一次。而部署到服务器上的 tomcat 后,就会被触发两次。如果本身代码没有问题,怀疑跟服务器的环境有关。查看服务器上的 ${your_tomcat_path}/conf/server....

2019-05-23 15:43:15 7473 2

原创 Dalvik 和 ART

前言Android 经过不断的版本迭代,运行于 OS 上的虚拟机也经过了一系列变化。从 Android 4.x 时代的 Dalvik,演进到 Android 5.0 之后的 ART.这都是 Google 在 app 运行速度、省电课题上的探索与平衡。Android 4.x 时期在 Android 4.x 时代,使用的是 Dalvik 虚拟机,JIT(Just in Time)编译策略。程序...

2019-05-10 14:44:09 235

空空如也

空空如也

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

TA关注的人

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