自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 RecycleView Grid样式的分割线,均分每行

说明最近写一个GridView的布局,需要一个较宽的分割线样式,发现自己以前写的还有网上的很多都有问题,主要存在没考虑到divider也有一定宽度,这样导致第一行特别宽,其他行都较短。特修改bug,顺便分享一下原理其实很简单,主要就是在 重新 ItemDecoration 的 getItemOffsets方法给设置每块的布局添加偏移量padding,注释都在里面totalwidth =...

2019-12-25 15:08:13 1032

原创 kotlin 语言基本知识笔记整理

说明本文知识源:kotlin 官方文档中文文档强烈建议直接官方文档,中文文档应该是机器翻译的,很多不好理解的地方。一、数据结构数据类型类型和Java基本一致不声明的话,数字量根据数值大小默认为 Int 或者 Long无符号数,数字后面加u表示没有基本类型,包装类型之分数据转换不能隐式转换,如int -> long,float -> double,都必须...

2019-10-10 15:34:56 292

原创 CardView 知识总结

简介Cardview,是在 Android 5.0 (Lollipop) 中引入的是一个 UI 组件。 其继承于FrameLayout,其最主要的功能是作为父布局,为其包裹的子View 添加圆角效果或者阴影效果。重要APIcardview 重要属性的含义重要属性cardCornerRadius控制Cardview 圆角的半径(可分别控制4个角)cardElevation通过控制C...

2019-07-06 18:58:01 738

原创 Android Studio 使用Java8全知全解

说明:本篇整理自Android开发官方文档Android Studio 3.0 及以上版本支持所有 Java 7 语言功能,以及部分 Java 8 语言功能。内部原理如下图 所示,AS默认工具链通过 javac 编译器的输出执行字节码转换(称为 desugar),从而实现Java8的语言特性功能,这样我们就能从容的在代码中使用Java8特性了。这块解释一下,之前看的《深入理解Java虚拟机...

2019-05-31 14:51:37 3060

原创 Android 生成 keystore签名文件

keystore文件背景当我们集成高德地图或腾讯SDK等第三方平台时,经常会让我们注册写入应用的SHA1码,这就牵涉到了应用的签名。包括:1,签名文件的生成2,应用签名过程jarsign是Java本生自带的一个工具,他可以对jar进行签名的。而signapk是专门为了Android应用程序apk进行签名的工具,他们的签名算法没什么区别,主要是签名时使用的签名文件不一样.jarsign工具...

2019-05-14 14:29:33 1134

原创 Java8 Stream列表去重 总结

今天遇到一个需求,需要对一个新闻列表根据标题进行去重,总结一下方法。1,stream().distinct()这个方法是Java8的Stream接口直接提供的方法,看起来最简单易用。但是 distinct() 具体是使用对象的 hashCode() 和equals() 方法来判断列表中元素是否为同一个元素,所以必须重写对象的 hashCode 和 equals 方法,这就很麻烦了,而且之后如...

2019-04-12 15:28:08 4859

原创 JDK8动态代理实现与原理解析

第一部分:JDK8动态代理基本实现1,先定义一个接口public interface UserService { void work(String workContent);}2,再定义一个接口实现类public class StudentService implements UserService { @Override public void work(St...

2019-04-09 15:11:54 873 2

原创 简单7条命令将本地项目首次提交远程仓库Git(GitHub,GitLab)

直接开始1,cd 进入你放项目文件的地址cd ~/Downloads/myproject2,进行当前项目git初始化git init 3, 将项目文件夹内所有文件加入版本控制git add . 4, commit到本地仓库 git commit -m “first commit”git commit -m "first commit"5, 将本仓库与远程关...

2019-04-04 11:14:34 552

原创 2分钟配置集成编码神器Lomok到AndroidStudio

简介之前在使用maven项目构建的Java项目中使用Lomok非常方便,能大幅提升编码效率,省去POJO的get,set,构造方法,还能添加buidler模式,非常方便。lombok官网常用注解:@NonNull 参数校验参数,能帮助避免空指针 @Cleanup 局部变量注解,自动使用对象的close() 方法(尤其是流对象) @Getter/@Setter 自动...

2019-04-03 12:20:51 285

原创 linux中Jenkins启动/重启/停止命令

简要记录一下Linux 中Jenkins启动/重启/停止命令启动service jenkins start重启service jenkins restart停止service jenkins stop此外,还有直接使用url的方式,不过当然不包括启动(此时服务还未启动),只需要在访问jenkins服务器的网址url地址就可以了此处假定 jenkins部署在本机,端口为 808...

2019-03-04 18:29:51 61490 2

原创 Spring中使用ElasticSearch实现中文分词全文搜索

1,创建Index:需要使用全文索引的字段,需要添加analyzer属性PUT /industry_index{ "settings": { "refresh_interval": "5s", "number_of_shards" : 3, "number_of_replicas" : 2, "analysis" : {

2019-02-15 14:08:46 3685

原创 Spring5.0:webflux中使用Elasticsearch

响应式web服务框架-webflux只需少量线程即可实现数千个并发连接。但是,与Spring-Data-MongoDB不同,Spring Data ElasticSearch本身不支持非阻塞存储库。幸运的是,ElasticSearch 6的Java API可以使用RESTful接口及非阻塞HTTP客户端实现。但是,它使用的是回调而不是类似的东西CompletableFuture。所以我们可以自己...

2019-02-15 11:18:56 1883

原创 spring springboot webflux 文件上传下载

webflux 的文件上传下载功能文件上传先上代码@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)public Mono<String> requestBodyFlux(@RequestPart("file") FilePart filePart) throws IOE...

2019-01-17 16:19:23 9448 8

原创 MonDB 导入导出数据,数据库备份及恢复

MongoDB数据导入导出1、导出工具:mongoexport概念:mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。语法:mongoexport -d dbname -c collectionname -o file --type json/csv -f field...

2018-12-25 14:06:51 160

原创 MongoDB判断null值,是否存在,Type操作符,最大最小值

使用 $exists操作符,是否存在使用 exists 可以判断某个key是否存在db.company.find({"address":{"$exists":true}})可以用 null 结合使用db.company.find({"address":{"$in":[null], "$exists":true}})但是在pymongo中,不方便使用null作为特殊词,所以有方法2使...

2018-12-19 15:32:32 6425

原创 pymongo快速批量删除,批量插入,批量更新

想使用pymongo实现批量操作,找了很久,终于在文档中发现pymongo文档原文from pymongo import InsertOne, DeleteOne, ReplaceOnerequests = [InsertOne({'y': 1}), DeleteOne({'x': 1}),ReplaceOne({'w': 1}, {'z': 1}, upsert=True)]result...

2018-12-18 20:20:27 5997

原创 MongoDB 极速本地复制collection (表复制) ,Count不准确

今天为了在mongo本地备份一下数据,总结几个方法。1,Mongo 官方只提供了远程复制clone方法,不适用本地的db.cloneCollection('mongodb.example.net:27017','profiles',{ 'active' : true } )2 ,遍历插入方案db.company.find().forEach(function(x){db.company_...

2018-12-18 13:35:39 4216 3

原创 解决迁移ssdb到docker出现的no space left on device问题

今天想把ssdb上的数据迁移到docker环境中,增加系统稳定性,执行了以下操作。一,ssdb 文件导出:介绍一下ssdb 备份主要有两种方式:1,ssdb sql语句导出# 进入ssdb-cli 交互模式ssdb-cli -h 127.0.0.1 -p 8888# 导出数据ssdb 127.0.0.1:8888> export backup.ssdb# 导入数据ssdb ...

2018-12-14 17:55:53 618

原创 PyMongo 10分钟快速上手,拿来即用

用了一段时间的MongoDB,整理下知识点,本文注重实用,给出示例代码,持续更新。PyMongo安装pip install pymongo建立连接from pymongo import MongoClientclient = MongoClient("127.0.0.1:27001")db = client.mydb # user database常用SQLCRUD# se...

2018-12-14 10:52:26 161

原创 利用Termux搭建自己的Android移动工作站,启动SSH服务,安装,Pip,Java

今天读大佬的文章,做android系统的性能分析,各种linux shell命令,搜索之后,打开了我新世界的大门,找到了一款android神器:Termux。一、直接googleplay下载安装Termux特殊按键浮窗,用于手机上输入ctrl,esc等键,长按KEYBOARD选项可打开该功能Termux维护着适合Android的库,并自带包管理器apt二、替换国内源Termux 内置有a...

2018-12-12 17:21:46 11327

原创 Java Nio 学习笔记

2012年12月11日记录今日总结今天主要主要花了半下午时间学习了Java Nio的内容,学习链接:极客学院NIO教程,这篇也是翻译国外大神的,有一些错别字。当然,有兴趣的同学可以看看原文:教程原文作者还很好心的提供了一个利用NIO写的非阻塞服务器,地址也给出来:https://github.com/jjenkov/java-nio-server知识点1,Nio是java 1.4 ...

2018-12-12 00:23:00 93

原创 深入理解Java虚拟机(4)内存分配与回收策略

一、对象优先在Eden分配 大多数情况下,对现在新生代Eden区中分配,当Eden区没有足够空间时,虚拟机将发起一次Minor GC。  新生代GC(Minor GC):指发生在新生代的垃圾收集动作,因为大多Java对象寿命短暂,所以Minor GC非常频繁,回收速度快。  老年代GC(Major GC/Full GC):指发生在老年代的GC,出现了Major GC,经常伴随着至少一次的M...

2018-04-12 22:35:45 121

原创 深入理解Java虚拟机(3)垃圾回收

本文主要解决3个问题:哪些内存需要回收?什么时候回收?如何回收? 一、哪些内存需要回收?程序计数器、虚拟机栈、本地方法栈三个区域随线程而生,随线程而灭,而且每一个栈帧中分配多少内存基本在类结构确定下来时就是已知的,不需要考虑复杂的回收问题。线程结束,内存就直接回收了。 而Java堆和方法区则只有处于运行时才会知道存放哪些实例数据等。Java堆回收类实例方法区主要回收废...

2018-04-12 16:53:38 114

原创 深入理解Java虚拟机(2)对象创建及内存分配

一.对象的创建过程虚拟机遇到一条new指令时: 1. 首先去常量池寻找符号引用(通过引用找到并检查该类是否被加载,解析) 2. 未被加载过则去加载解析类 3. 为新生的对象分配内存(此时对象所占内存大小确定) 4. 分配的堆内存空间初始化(即赋零值) 5. 设置对象头信息(header) — 对于JVM来说,此时已经初始化完成 6. java 类实例的<-...

2018-04-10 19:13:59 120

原创 深入理解Java虚拟机(1)内存模型

虚拟机内存模型总结先来一个总结: 内存区域 说明 程序计数器 当前线程执行的字节码行号计数器 本地方法栈 native方法栈 java虚拟机栈 执行java方法时的内存模型,65535 Java堆 存放对象实例,数组,存类的属性值,不存方法 方法区 堆的逻辑部分:类信息,常量,静态变量,jit 编译后的代码 ...

2018-04-10 11:55:18 165 1

原创 Python获取当前文件名的两种方法

2种方法1,使用python文件默认的‘ file ’属性 2,使用 sys.argv[0]print sys.argv # 输入参数列表print sys.argv[0] # 第0个就是这个python文件本身的路径(全路径)print os.path.basename(sys.argv[0]) # 当前文件名名称print os.path.basename(__file_...

2018-04-09 14:57:45 69551 2

原创 Python datetime 模块API用法说明

datetime模块用于是date和time模块的合集,datetime有两个常量,MAXYEAR和MINYEAR,分别是9999和1.datetime模块定义了5个类,分别是datetime.date:表示日期的类datetime.datetime:表示日期时间的类datetime.time:表示时间的类datetime.timedelta:表示时间间隔,即两个时间点的间隔da...

2018-04-04 17:23:09 977

转载 Spring Aop 笔记

转载自:https://blog.csdn.net/zbuger/article/details/51011117比 Spring In Action 介绍的还要详细AOP即Aspect Oriented Programing,面向切面编程。AOP适合于那些具有横切逻辑的应用:如性能监测,访问控制,事务管理以及日志记录。AOP将这些分散在各个业务逻辑中的代码通过横向切割的方式抽取到一个独立...

2018-03-28 12:07:44 105

原创 3分钟学会在IDEA上使用maven

Maven简介是一个采用纯Java编写的开源项目管理工具, 所有的项目配置信息都被定义在一个叫做 POM.xml 的文件中.主要服务于基于Java平台的项目构建、依赖管理Maven执行流程Maven可以管理项目的整个生命周期,包括清除、编译,测试,报告、打包、部署等等。实现自动构建项目清除--> 编译-->测试-->报告-->打包(jar\war)-->安装--&gt...

2018-03-09 16:56:56 543

mac 自动填写密码等脚本实现需要的交互工具包

mac 自动填写密码等脚本实现需要的工具包,包括expect tck tl 具体安装使用可以看这篇博客:https://blog.csdn.net/gongzi2311/article/details/70159930?utm_source=itdadao&utm_medium=referral

2018-04-09

空空如也

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

TA关注的人

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