能力说明:
精通JVM运行机制,包括类生命、内存模型、垃圾回收及JVM常见参数;能够熟练使用Runnable接口创建线程和使用ExecutorService并发执行任务、识别潜在的死锁线程问题;能够使用Synchronized关键字和atomic包控制线程的执行顺序,使用并行Fork/Join框架;能过开发使用原始版本函数式接口的代码。
暂无个人介绍
ProGuard技术的功能概括为以下4项: 1.压缩(shrinks) :检查并移除代码中无用的类,字段,方法,属性。 2.优化(optimizes):对字节码进行优化,移除无用的指令。 3.混淆(obfuscates):使用a,b,c,d等简短而无意义的名称,对类,字段和方法进行重名,这样即使代码被逆向工程,对方也比较难以读懂。 4.预检测(Preveirfy):在java平台上对处理后的代码进行再次检测。 详细介绍 (1) ProGuard 配置 -include{filename}:从给定的文件中读取配置参数。 -basedirectory{directoryname}:指定基础目录为
目标 虽然用不上渠道的概念, 其实其实和渠道的概念类似, 其实就是多几个可以变更的字段配置 目前我需要一个boolean, 一个请求的url, config.url =http://10.1.64.42:9082/insure-pad/padServer.do, config.bool = false 我想加快apk打包速度啊, 一方面是还在用eclipse, 二来如果用普通的gradle的farvor方式还是不够快,美团都有v2方案了, 自己搞一搞比较有意思而已 META-INF目录下添加额外信息(不推荐) 然后从代码中读取需要的字段即可 探测敌情 我的思考 我写出了这种形式,htt
不废话, 直接上货 <?xml version="1.0" encoding="UTF-8"?> <project name="MyProject" default="init" basedir="."> <description> simple example build file </description> <!-- 使用第三方的ant包,使ant支持for循环--> <taskdef resource="net/sf/antcontrib/antcontrib.properties"> <classpath> <pathelement l
1. ANT支持 2. 配置环境变量(android和ANT都需要) 生成一个简单的build.xml,本身sdk/tool/ant 下有个完整的build.xml,我们只要基于它创建一个简单的build.xml即可.
統一中文文案、排版的相關用法,降低团队成员之间的沟通成本,增強網站气质。 Other languages:
函数式编程是一种编程范式。我们常见的编程范式有命令式编程、函数式编程和逻辑式编程。我们常见的面向对象编程是一种命令式编程。命令式编程是面向计算机硬件的抽象,有变量、赋值语句、表达式和控制语句。而函数式编程是面向数学的抽象,将计算描述为一种表达式求值,函数可以在任何地方定义,并且可以对函数进行组合。响应式编程是一种面向数据流和变化传播的编程范式,数据更新是相关联的。把函数式编程里的一套思路和响应式编程合起来就是函数响应式编程。函数响应式编程可以极大地简化项目,特别是处理嵌套回调的异步事件、复杂的列表过滤和变换或者时间相关问题。在Android开发中使用函数响应式编程的主要有两大框架:
Android 开发所需的 SDK,下载并解压后,将解压出的整个文件夹复制或者移动到 your sdk 路径/platforms文件夹,然后打开 SDK Manager,打开 Tools(工具)菜单选择 Options (选项)菜单项打开Android SDK Manager Setting对话框,点击 Clear Cache (清除缓存)按钮,然后重启 Eclipse(或 Android Studio) 和 SDK Manager。
下划线 <u>支持下滑线了</u> 添加待办事项 语法示例: 三只青蛙 * [x] 第一只青蛙 * [ ] 第二只青蛙 * [ ] 第三只青蛙 插入表格 语法示例: | 帐户类型 | 免费帐户 | 标准帐户 | 高级帐户 | | --- | --- | --- | --- | | 帐户流量 | 60M | 1GB | 10GB | | 设备数目 | 2台 | 无限制 | 无限制 | | 当前价格 | 免费 | ¥8.17/月 | ¥12.33/月| 插入图表 目前支持饼状图、折线图、柱状图和条形图,只需将 type 改为对应的pie、line、column 和 bar。 ,预算,收
XStream 是一个简单的基于 Java 库,Java 对象序列化到 XML,反之亦然(即:可以轻易的将 Java 对象和 xml 文档相互转换)。 特点 使用方便 - XStream 的 API 提供了一个高层次外观,以简化常用的用例。 无需创建映射 - XStream 的 API 提供了默认的映射大部分对象序列化。 性能 - XStream 快速和低内存占用,适合于大对象图或系统。 干净的XML - XStream 创建一个干净和紧凑 XML 结果,这很容易阅读。 不需要修改对象 - XStream 可序列化的内部字段,如私有和最终字段,支持非公有制和内部类。默认构造函数不是强制性的要
PDF 转 Word 福昕PDF转Word转换器下载 http://pdf2word.pdf365.cn/ 5页以内的PDF转换免费,大于5页的PDF需要购买 年费会员。 Word 转 PDF 非常简单, 例如 WPS 或者 Word都提供此类功能 WPS的"输出为PDF" 直接编辑 PDF文件 插入图片, 修改文字等操作 这里推荐 万兴PDF专家 网上有相关资源. 请尽量使用正版软件。 修改PDF的配置信息 如果修改了PDF文件, PDF的文件描述可能会改变, 我们可以先记下配置信息, 再照猫画虎做到以假乱真的效果. 搜索 pdf_info_changer 这款免费软件.
集中式 or 分布式 集中化的版本控制系统( Centralized Version Control Systems,简称 CVCS) 缺点:最显而易见的缺点是中央服务器的单点故障。如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。要是中央服务器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,而被客户端偶然提取出来的保存在本地的某些快照数据就成了恢复数据的希望。但这样的话依然是个问题,你不能保证所有的数据都已经有人事先完整提取出来过。本地版本控制系统也存在类似问题,只要整个项目的历史记录被保存在单一位置
了解 Linux 常见命令 在使用 git 前,建议事先熟悉一些常见的 bash 命令 进入xxx目录 $ cd xxx 移动 $ mv [old-name] [new-name] 删除单个文件 $ rm test.txt删除当前目录下的一个文件 当前目录下建立文件夹 $ mkdir [folder-name] 显示当前目录 $ pwd 查看该目录下的文件和文件夹 $ ls -al 查看该目录下的文件和文件夹包含隐藏目录 $ ls -ah 配置 config 可以通过git config rexx.aa.bb cc, git config aa.bb.cc 'dd' 进行设置。
整数类型 4种进制表示形式 十进制:1010, 99, -217 二进制,以0b或0B开头:0b010, -0B101 八进制,以0o或0O开头:0o123, -0O456 十六进制,以0x或0X开头:0x9a, -0X89 浮点数类型 与数学中实数的概念一致 带有小数点及小数的数字 浮点数取值范围和小数精度都存在限制,但常规计算可忽略 取值范围数量级约-10 308 至10 308 ,精度数量级10 -16 浮点数间运算存在不确定尾数,不是bug 结果无限接近0.3,但可能存在尾数 解决办法: 使用round函数 浮点数间运算存在不确定尾数 >>> 0.1 + 0.2 == 0.3 F
点九图,是 Android 开发中用到的一种特殊格式的图片,文件名以”.9.png“命名。这种图片能告诉开发,图像哪一部分可以被拉伸,哪一部分不能被拉伸需要保持原有比列。运用点九图可以保证图片在不模糊变形的前提下做到自适应。点九图常用于对话框和聊天气泡背景图片中。 制作点九图有四个硬性要求,只要满足这四点,点九图就可以被正确识别。 要求一: 名称格式必须为:文件名称 .9.png。 要求二: 上下左右各留有 1px 的标识线区,此区内不能有半透明像素(特别注意:切图若有投影,不要泄漏到标识线区)。 要求三: 伸缩标识线与内间距标识线为不透明的纯黑色(#000000),光学标识线为不透
进入正题 忘记「我的电脑」,这里只有 Finder macOS 中的资源管理器是 Finder,由于沿用了 Unix 的文件系统,在 macOS 中并没有 C 盘,D 盘,而是用不同的文件夹来区分不同的用途。每个 macOS 的用户都会有一个自己的用户目录,里面一般包含公共、图片、下载、桌面、文稿等文件夹。你可以将文件分类存放在这些文件夹中,也可以自己建立新的文件夹来存放。
Apache cordova 是一个开源的移动开发框架。 它允许使用标准的 web 技术—— HTML5、 CSS3和 JavaScript 进行跨平台开发。 应用程序在针对每个平台的包装器中执行,并依靠符合标准的 API 绑定来访问每个设备的功能,如传感器、数据、网络状态等。 内容目录 [TOC] 结构 Cordova 应用程序有几个组件。 下图展示了 Cordova 应用程序体系结构的高级视图。 WebView 启用 cordova 的 WebView 可以为应用程序提供其整个用户界面。 在某些平台上,它还可以是一个更大的混合应用程序中的一个组件,该混合应用程序将 WebView
妙用快捷键 常用快捷键 文件重命名 F2 文件 / 内容 全选 Ctrl + A CV 复制粘贴 剪切操作 Ctrl + X ,配合粘贴可完成移动操作 显示桌面 Win + D 切换程序的 Ctrl + Tab 浏览器的快捷键
再次强调用好触控板和快捷键, 将极大提高效率 预装两大杀器: 输入法和浏览器 搜狗输入法 由于百度不好用, 19年初装上后还会偶尔bug资源占用率居高不下 . 我的要求是要有同步词库. 而且支持中文下输入英文标点的功能. 然后有单行模式更好. 360极速浏览器, 习惯而已. 鼠标悬停指向当前页也是一绝. "缩放"(最大化)窗口 改为 该快捷键原本是功能是"显示调度中心", 发现多此一举,因为三指向上就已经实现该功能, 就改成Ctrl + 向上键, 模仿出Win系统的味道 但目前发现仅对部分软件有效 可以改成你想要的快捷键, 发现option + 向上键 也挺合理的 将 Fn 功能键
1. 创建基本插件 plugman create --name MyPluginName --plugin_id cordova-plugin-my --plugin_version 0.0.1 然后就会生成如下的文件内容,即下面的两个文件: . ├── plugin.xml ├── src └── www └── MyPluginName.js plugin.xml 清单文件,定义了插件的结构以及相关的设置。 <?xml version='1.0' encoding='utf-8'?> <plugin id="cordova-plugin-my" version="0.0.1"
JavaScript是一种可以用来给网页增加交互性的编程语言。 常常会看到JavaScript被称为“脚本语言”(scripting language),这暗示着它更适合编写脚本而不是程序。这实际上并没有根本性的差异。JavaScript脚本也是一种程序,它们包含在HTML页面内部(原先编写脚本的方式),或者驻留在外部文件中(现在的首选方法)。 在HTML页面上,因为脚本文本包围在<script>标签中,所以它不会显示在用户的屏幕上,而Web浏览器知道应该运行JavaScript程序。<script>标签常常放在HTML页面的<head>部分中,如脚本1-1所示。但是如果愿意,也可以将脚本放在
在您的 Android 设备上打开 Developer Options 屏幕。 选择 Enable USB Debugging。 在您的开发计算机上打开 Chrome。 打开 chrome://inspect 确保启用 Discover USB devices 复选框。 使用 USB 电缆将 Android 设备直接连接到您的开发计算机。 首次连接时,通常会看到 DevTools 检测到未知设备。 如果您 Android 设备的型号名称下显示绿色圆点和 Connected 文本,则表示 DevTools 已与您的设备成功建立连接 远程调试 WebView 使用 Chrome 开发者工具在您
拍视频 cordova plugin add cordova-plugin-media-capture js调用片段 function videoCapture() { //开始录像(最长录制时间:15秒) navigator.device.capture.captureVideo(onSuccess, onError, {duration: 15}); //录制成功 function onSuccess(mediaFiles) {
JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。 但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。 Buffer 与字符编码 Buffer 实例一般用于表示编码字符的序列,比如 UTF-8 、 UCS2 、 Base64 、或十六进制编码的数据。 通过使用显式的字符编码,就可以在 Buffer 实例与普通的 JavaScript 字符串之间进行相互转换。 const buf = Buffer.from('runoob', 'ascii'); // 输出 7275
Lambda表达式的语法 基本语法: (parameters) -> expression 或 (parameters) ->{ statements; } 方法引用 方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式 静态方法引用,通过类名::静态方法名, 如 Integer::parseInt 实例方法引用,通过实例对象::实例方法,如 str::substring 也可以类名::实例方法名, 如 String::substring 构造方法引用,通过类名::new, 如 User::new 第三点: 若Lambda 的参数列表的第一个参数,
线程是在一个进程中可以执行一系列指令的执行环境,或称运行程序。多线程编程指的是用多个线程并行执行多个任务。当然,JVM 对多线程有良好的支持。 尽管这带来了诸多优势,首当其冲的就是程序性能提高,但多线程编程也有缺点 —— 增加了代码复杂度、同步问题、非预期结果和增加创建线程的开销。这次,我们来了解一下如何使用 Java 线程池来缓解这些问题。 为什么使用线程池? 创建并开启一个线程开销很大。如果我们每次需要执行任务时重复这个步骤,那将会是一笔巨大的性能开销,这也是我们希望通过多线程解决的问题。 为了更好理解创建和开启一个线程的开销,让我们来看一看 JVM 在后台做了哪些事: 为线程栈分
优点: 快速创建独立运行spring项目和主流框架集成 嵌入式servlet容器, 应用无需打成war包 starters自动依赖与版本控制 大量的自动配置, 简化开发, 也可修改默认值 无需配置xml, 无代码生成, 开箱即用 准生产环境的运行时应用监控 与云计算的天然集成 基本要求: JDK 1.8 maven IDEA 生成项目 在线生成Demo的网站 Spring Initializr https://start.spring.io/ Aliyun Java Initializr https://start.aliyun.com/ 基本结构 启动引导Spring ReadingLi
检查 svn 是否已安装 安装好后 输入 svn --version 检查 svn --version 请在任何不清楚的时候使用 svn help 查看帮助 svn help 查看对应命令的帮助文档 svn help <subcommand> svn基本操作 版本库下的文件和目录列表 **查看项目 list (ls) ** 简写:svn ls 用法:svn list path svn list svn://xxx/abc 表示可以在不下载文件到本地目录的情况下来察看目录中的文件 导入操作 import 将源文件夹内容 导入到对应目标文件夹内容。将 demo1 中的所有内容,上传到服务
安装方法 mac 下已经自带了svn环境 。使用svn –version 查看是否安装。 如果你有安装XCode,只需要在code > Preferences > download > Command Line Tools > Install即可,速度很快,基本1分钟搞定。 如果没有需要在Apple Developer网站 下载Command_Line_Tools_for_Xcode.dmg独立安装包。[不推荐手动查找安装包] 当然也可以命令行安装 xcode-select --install 也可使用 brew 安装svn brew install svn svn 图形化界面 sna
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。 swagger 官方Demo供参考 https://petstore.swagger.io/ swagger注解 swagger通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等。 API详细说明 @Api(tags = "收付费方式变更") 常用 @ApiOperation("获取用户列表") 常用 @ApiParam(v
本节包含SQL 介绍,增删查改语句知识。 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件)。 表(table)某种特定类型数据的结构化清单。 SQL 是什么 SQL(发音为字母S-Q-L或sequel)是 Structured Query Language(结构化查询语言)的缩写。SQL 是一种专门用来与数据库沟通的语言。 SQL 的扩展 许多 DBMS 厂商通过增加语句或指令,对 SQL 进行了扩展。这种扩展的目的是提供执行特定操作的额外功能或简化方法。虽然这种扩展很有用,但一般都是针对个别 DBMS 的,很少有两个厂商同时支持这种扩展。标准
引擎类型 与其他 DBMS 一样,MySQL 有一个具体管理和处理数据的内部引擎。在你使用CREATE TABLE 语句时,该引擎具体创建表,而在你使用 SELECT 语句或进行其他数据库处理时,该引擎在内部处理你的请求。多数时候,此引擎都隐藏在 DBMS 内,不需要过多关注它。但 MySQL 与其他 DBMS 不一样,它具有多种引擎。它打包多个引擎,这些引擎都隐藏在MySQL服务器内,全都能执行 CREATE TABLE 和 SELECT 等命令。为什么要发行多种引擎呢?因为它们具有各自不同的功能和特性,为不同的任务选择正确的引擎能获得良好的功能和灵活性。 以下是几个需要知道的引擎: ❑
拿到新电脑后接下需要安装些常用工具类软件,于是有了此文。 浏览器-360极速 包含特别好用的鼠标手势 和 鼠标悬停功能,然后也有书签云端同步和支持丰富的谷歌浏览器插件。 鼠标手势:长按鼠标右键,手势即动作 鼠标悬停:在标签上滚动鼠标滚轮,可自动激活该标签 输入法-搜狗 可选Win系统自带或这次推荐的 搜狗输入法智慧版, 无广告不解释。处理日常使用外还能表情斗图 解压软件 推荐 360压缩, 永久免费, 无广告弹窗,不折腾。 截图软件 Snipaste 一个简单但强大的截图工具 --- 点击了解更多 Snipaste 是一个强大的截图工具,可以让你将截图贴回到屏幕上!按下 F1 来开
Redis 简介 REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 开发的 key-value 存储系统。 Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。 Redis 官网:https://redis.io/ Redi
SELECT TOP 子句 用于规定要返回的记录的数目。 在 MySQL 中使用 LIMIT 关键字。这里查询排名前 3 的网站 SELECT * FROM Websites ORDER BY alexa LIMIT 3; SQL LIKE 操作符 LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。其中 % 替代 0 个或多个字符。_替代一个字符。 通配符 描述 % 替代 0 个或多个字符 _ 替代一个字符 SELECT * FROM Websites WHERE name LIKE 'G%'; 举例: '%a' //以a结尾的数据 'a%' //以a开头的
SQL 最强大的功能之一就是能在数据检索查询的执行中联结(join)表。联结是利用 SQL 的 SELECT 能执行的最重要的操作,很好地理解联结及其语法是学习SQL的一个极为重要的组成部分。另外聚集函数也可以在联结中进行使用。 SQL 连接(JOIN) 用于把来自两个或多个表的行结合起来。 下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。 在我们继续讲解实例之前,我们先列出您可以使用的不同的 SQL JOIN 类型: INNER JOIN:如果表中有至少一个匹配,则返回行 LEFT JOIN:即使右表中没有匹配,
自定义配置 其实就是一个迁移过程,将配置和文章这两块内容记住修改点,然后迁移到新项目即可。 _config.yml title: Blogs of acc8226 description: a personal website of acc8226 author: acc8226 ## 中文简体 zh-CN, 可以选择更改为en language: zh-CN timezone: Asia/Shanghai # 其中 :category 取目录,post_title 则去取文章中的title permalink: :category/:post_title/ ## updated_op
C# 变量 一个变量只不过是一个供程序操作的存储区的名字。在 C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。范围内的值可以存储在内存中,可以对变量进行一系列操作。 我们已经讨论了各种数据类型。C# 中提供的基本的值类型大致可以分为以下几类: 整数类型 sbyte、byte、short、ushort、int、uint、long、ulong 和 char 浮点型 float 和 double 十进制类型 decimal 布尔类型 true 或 false 值,指定的值 空类型 可为空值的数据类型 C# 中变量定义的语法: <data_type> <variable_l
基础知识 声明数组 datatype[] arrayName; 初始化数组: 声明一个数组不会在内存中初始化数组。当初始化数组变量时,您可以赋值给数组。 数组是一个引用类型,所以您需要使用 new 关键字来创建数组的实例。 例如: double[] balance = new double[10]; 您可以在声明数组的同时给数组赋值,比如: double[] balance = { 2340.0, 4523.69, 3421.0}; 您也可以创建并初始化一个数组,比如: int[] marks = new int[5] { 99, 98, 92, 97, 95}; 在上述情况下,你
C# 结构体(Struct) 在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。 结构体是用来代表一个记录。假设您想跟踪图书馆中书的动态。您可能想跟踪每本书的以下属性:
继承 继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用代码和节省开发时间。 当创建一个类时,程序员不需要完全重新编写新的数据成员和成员函数,只需要设计一个新的类,继承了已有的类的成员即可。这个已有的类被称为的基类,这个新的类被称为派生类。
C# 事件(Event) 事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些提示信息,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。 C# 中使用事件机制实现线程间的通信
版本介绍 Redis 借鉴了 Linux 操作系统对于版本号的命名规则:版本号第二位如果是奇数,则为非稳定版本(例如2.7、2.9、3.1),如果是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2)。当前奇数版本就是下一个稳定版本的开发版本,例如 2.9 版本是 3.0 版本的开发版本。所以我们在生产环境通常选取偶数版本的 Redis,如果对于某些新的特性想提前了解和使用,可以选择最新的奇数版本。
不就是一台微型计算机. 恰好10.28作为🎂送给自己. 反正也就我☝️人. 树莓派需要资源: 电源(+电源线请选择5V 3A的电源+USB TypeC的数据线), 安装了树莓派系统的SD卡, 外壳 额外资源: 键鼠套装, 用于连接的显示屏的屏和线 机型选择: 最新的4b, 低配版1G
安装 CentOS 系统 yum install -y subversion ubuntu 系统 sudo apt-get install subversion 创建对应目录 使得/data/svn作为svn项目的一个根目录
Maven 仓库 在 Maven 的术语中,仓库是一个位置(place)。 Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。 在 Maven 中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。 Maven 仓库能帮助我们管理构件(主要是 JAR ),它就是放置所有 JAR 文件(WAR,ZIP,POM 等)的地方。
Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 此实验以 CentOS 7.2 x64 的系统为环境,搭建 git 服务器 yum -y install git
rp 文件可以通过 Axure8 导入打开,具体方式如下:
为方便和前端, 节省沟通成本, 编写接口文档非常有比较 使用过swagger, 觉得入侵性太大. POST又感觉和项目结合的不太紧密. 所以一直在寻找 新的接口阅读/生成/测试工具. 下面介绍一下YApi.
KOD依赖什么环境? 环境要求: php 5.3及以上 + mysql/sqlite; 环境推荐: centos7+php7.3+nginx+mysql5.7+redis
正常情况下如果只买了域名, 但是没有买云主机. 所以可以利用现有的 Page 服务并让域名跳转到该 Page 来实现。