自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用户数据报协议UDP

UDP协议的主要特点1、UDP是一种无连接,不可靠的传输协议,UDP再传输报文之前不需要再通信双方之间建立连接,因此减少了协议开销和传输延时。UDP对报文除了提供一种可选的校验和之外,几乎没有其他保证数据传输的可靠性的措施。如果UDP检测出在收到的分组中有差错,他就丢弃这个分组,也不通知发送方重传。2、UDP是一种面向报文的传输层协议UDP数据报的格式:UDP对于应用程序提交的...

2019-10-18 18:07:18 463

转载 GC回收算法

一、判断对象已“死”?第一种方法是引用计数法 给对象增加一个引用计数器,每当有一个地方引用它时,计数器就加1;当引用失效时,计数器就减1,任何时刻计数器为0的对象就是可能不再被使用的,即该对象就称为可被回收的对象。(通俗的将就是一个对象没有任何引用与之关联)。【实现简单、效率高,但是无法解决循环引用的问题,因此在Java中没有使用这种方式(Python采用的是引用计数法)】第二种方法是可达性...

2019-10-17 13:22:41 601

原创 Linux常用指令

查询和帮助指令:manhelp文件和目录操作命令:ls:列出目录内容和属性信息cd:(chang directory)从当前的工作目录切换到指定工作目录cp:(copy)复制文件或者目录find:查找文件mkdir(make directories):创建目录mv:(move)移动或者重命名文件pwd: 全拼print working directory,...

2019-10-17 09:40:32 165

原创 Linux常用文本命令grep,sed,awk

grep命令:grep命令是字符查找工具,可以利用正则表达式进行全局搜索。sed命令:sed是一种流编编器,它是文本处理中非常中的工具,能够完美的配合正则表达式便用,功物能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为”模式空间”( oattern space),接看用sed命令处理缓冲区中的内容,处理成后,把缓冲区的内容送往屏幕显示。接着理下一行,这样...

2019-10-17 09:03:16 192

原创 Java集合(一)

本文主要介绍常用的集合类,集合类主要用来保存数据,主要由Collection和Map接口派生而出。对于如何选择哪种集合类来存储,这里有一篇详细的文章:https://blog.csdn.net/zhangqunshuai/article/details/80660974IteratorIterator主要用来遍历Collection中的元素,定义了下面几个方法:1、...

2019-10-14 16:13:09 119

原创 Java核心技术 卷I (读书笔记)

今晚能把这本书的主要知识点过一遍嘛嘻嘻,加油!!第三章重点字符串网上资料以及常用api:https://www.cnblogs.com/zjq524411/p/9973297.html1、String类对象是不可变字符串,一般如果要修改字符串,用substring方法和“+”拼接字符。2、使用equals方法检测字符串是否相等3、检查一个字符串既不是null也不为...

2019-10-05 14:36:50 185

原创 Android—AsyncTask

emmmmmmmmm熟悉了handler之后觉得AsyncTask好理解多了!!!哎明明一年前都用过怎么就忘了,不过看了下还是能捡起来的!加油!!!下面看看AsyncTask怎么用吧!其实AsyncTask就是对线程和handler进行了封装,可以轻松地从子线程切换到主线程,避免ANR。使用AsyncTask:AsyncTask是一个抽象类,想要使用它必须要创建一个子类去继承它,在继承...

2019-08-07 21:40:22 124

原创 Android异常之Retrofit API报错: "Type 'java.util.Observable' does not have type parameter”

rxjava+retrofit的时候出错,问题在于引用错包了。。应该是下面这个:

2019-07-24 18:49:43 650

转载 Android基础知识点总结

Android 知识点总结Activity生命周期,启动模式,保存数据的方式,需要注意各种情况下的处理,结合Fragment,两者与Service通信Service启动方式,几种方式之间的区别,start和bind的区别,IntentService,与Activity之间的通信,Service保活Broadcast的注册方式,使用以及与其它相关框架的区别,比如EventBusCon...

2019-07-22 17:37:26 266

原创 Android-Activity(一)

(一)、创建Activity:1、继承于Activity或其子类,重写onCreate()方法。2、Activity的注册配置:注册配置的核心代码:<applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name...

2019-07-13 21:33:33 3103

原创 热修复(基础)

传统开发流程:存在的问题:发版渠道多发版周期长需要用户更新修复bug成本极高引入热修复技术:动态修复已经发布的app的bug或者新增功能,不需要重新发版,用户无感知热修复执行流程:热修复的可选方案:1.AndFix(基于JNI)2.QQ超级补丁技术3.Sophix(sdk第三方接入)4.Bugly5.Thinker...

2019-07-09 08:51:36 293

原创 有关链表的题目(一)

啊啊链表的题真的写时一时爽,调试火葬场,这个博客做了好久,磨磨蹭蹭拖了两天哎。1.删除链表中的重复元素leetcode82:Remove Duplicates fromSorted List II题目在这里: 解题思路:我一开始思路错了后面看了bobo老师的代码才明白怎么做。这里要找到重复的一段链表段,把整段链表段删除。这种题不太熟练,接下来还需要继续练。代码:(因为...

2019-06-10 13:21:17 329

原创 数据结构——位图&布隆过滤器(解决大数据去重的问题)

啊啊啊啊好久没打leecode了,数据结构慢慢地开始不记得了...(k恐怖!!!)今天学习了一个数据结构——位图。位图:位图是用来解决大数据去重的问题的。那说到去重,脑子里第一反应就是散列表,但是散列表最大的问题是所占用的空间非常大,如果像是解决网页爬虫中的URL去重功能,一个URL的长度平均是64字节,那所需要的内存也就相当大了。怎么解决这个空间问题呢?这里有一种比较特殊的散列表——...

2019-06-09 14:14:07 632

原创 Fiddler+willow使用步骤

fiddler的工作原理:fiddler抓包是在 客户端和服务器之间建立一个代理服务器,监听本机发出的请求和服务器返回的响应结果。fiddler抓取https的工作原理:首先fiddler截获客户端浏览器发送给服务器的https请求, 此时还未建立握手。第一步, fiddler向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名, 获取到...

2019-06-04 17:04:17 1492

原创 解决Android Studio连不上Android设备真机的问题

今天想学习一下自动化测试,使用Android Studio的时候连接真机连接不上。我的解决方法步骤:1.USB调试开关检查手机->开发者选项->USB调试打开2.手机安卓对应的SDK下载打开手机->设置->关于手机->Android版本可以查看对应的Android版本号然后在AS中的SDK manager中下载对应的SDK版本:3. 下载U...

2019-05-30 15:30:47 1421

原创 build failed 21 s 171 ms Download https://services.gradle.org/distributions/gradle-5.1.1-all.zip问题解决

在公司配新环境出了以前没有出现过的问题,一开始是Android sdk没法正常下载,然后我自己下载好sdk之后,build出现了这个问题,恍然大悟,哦~~原来是gradle没有下载好呀!设置一个代理就好啦~...

2019-05-30 11:30:22 3189

原创 Kotlin—控制结构(二)

今晚睡不着。。。。。不知道是不是看综艺看嗨了。。。。那继续补Kotlin的坑吧hhh表达式if表达式if...else...和Java代码的使用一致和Java代码不同的地方:if语句是有返回值的, 可以进行赋值,但是要注意表达式赋值时分支必须要完备赋值语句:val x=if(b<0) 0 else bwhen表达式加强版switch,支持任意类型支持纯...

2019-05-24 01:54:47 109

原创 Kotlin—控制结构笔记(一)

变量与常量常量:val=value,值类型,类似Java的final,不可以重复赋值。变量:var=variable类型推导就是编译器可以推导量的类型package com.example.nval FINAL_HELLO_WORLD:String="Helloworld"var helloworld:String="HelloWorld"//类型推导val ...

2019-05-23 18:16:47 134

原创 Kotlin—基础语法笔记

字符串:字符串比较:a==b 表示比较内容,类似Java的equalsa===b,表示比较的对象是否相同。字符串模板:(在字符串中塞进“$变量名”表示此处引用该变量的值。)var name:String="Mike""Hell0,$name" -->"Hello,Mike"空类型和智能类型转化:任意类型都有可空和不可空两种,不可空的后面加个?...

2019-05-23 14:10:15 197

原创 Java基础—IO流(二)

上一篇文章Java基础—IO流(一)介绍了Java的IO流的分类和基本输入输出流的用法,但是在实际需求中,各种类型的流需要相互转化。今天介绍使用的比较多的缓冲流和转换流。缓冲流Java缓冲流本身不具IO功能,只是在别的流上加上缓冲提高效率,像是为别的流装上一种包装。当对文件或其他目标频繁读写或操作效率低,效能差。这时使用缓冲流能够更高效的读写信息。因为缓冲流先将数据缓存起来,然后一起写入或...

2019-05-22 20:14:36 136

原创 Android—项目结构

这两天博客更新都在草稿箱里面,争取周三晚前把他们发出来!嘿嘿嘿。上上周面试了一家公司,其中有个问题就是问我Android的项目结构,挺简单的一个问题,但是当时讲得不太好,所以我这里来总结一下!一般常用的项目结构有Android模式和Project模式,Android模式是经过as转换过的,不是真实的项目结构,但是便于开发,很容易找到经常用的那几个文件夹。切换到Project结构模式:...

2019-05-21 21:38:36 6132

原创 java基础—IO流(一)

IO流一直以来都是半懂不懂的,今天来好好复习一下吧。JAVA的IO通过java.io包下的类和接口来支持,在java.io包下主要包括输入,输出两种IO流,每种输入输出又分为字节流和字符流两个大类。其中字节流以字节为单位处理输入输出操作,字符流用字符来处理输入输出操作。在介绍 IO流之前,有一个经常和IO流结合起来使用的File类也需要提及一下:File 类:File类也是java...

2019-05-20 20:58:37 237

原创 Android—OkHttp

emm这篇文章很久就开始写了,每次写到一半都忘记保存哭死,现在重新开始写吧。OkHttp简介OkHttp是一个优秀的网络请求框架,它使用建造者模式来对网络进行请求。OkHttp使用1.添加OkHttp依赖:2.构造OkHttpClient对象3.构造Request对象Request对象包括:- URL- method- headers-...

2019-05-18 16:48:01 133

原创 进度条没法显示的问题

自定义一个圆形进度条,结果发现圆形进度条没有出现,应该是ondraw()方法出了问题。我把这里的两个int值强转成float后,进度条就出来了。

2019-05-12 21:11:57 1093

原创 函数响应式编程(二)

Rx操作符入门:创建操作符: 按固定时间间隔发射整数序列的Observable,相当于定时器。interval range repeat just ,from 这两个操作符和create是等价得。 Observable observable =Observable.just("杨XX","月xx"); 通过调用Subscriber,不断得...

2019-05-07 16:09:23 258

原创 函数响应式编程(一)

函数相应式编程介绍:函数式编程时一种编程范式,是面向数学的抽象,将计算描述为一种表达式求值,函数可以在任何地方定义,并且可以对函数进行整合。响应式编程时一种面向数据流和变化传播的编程范式,数据更新是相关联的,把函数式编程里的一套思路和响应式编程合起来就是函数相应式编程。函数相应式编程可以极大地简化项目,特别是处理嵌套回调的异步事件,复杂的列表过滤和变换或者时间相关问题。下面主要介绍函数...

2019-05-05 16:43:31 459

原创 Android—修改button属性

一般安卓里的普通按钮控件灰灰的,比较单调,我们可以给按钮加上背景图片,或者自定义按钮的圆角,颜色等属性。下面用代码举例: <Button android:id="@+id/reset" android:layout_marginRight="2dp" androi...

2019-05-04 22:06:03 2482 4

原创 Android—事件

事件处理:一、概念:在Android中,我们可以通过事件处理使UI与用户互动(UI Events)。具体形式则是以事件监听器(event listener)的方式來“监听”用户的动作。Android提供了非常良好的UI事件处理机制。View是绘制UI的类,每个View对象都可以向Android注册一个事件监听器。每个事件监听器都包含一个回调方法(callback method),这个回...

2019-05-03 22:38:18 287

原创 Android—自定义控件

自定义控件的步骤:1.自定义属性的声明和获取分析需要的自定义属性 在res/valus/attrs.xml定义声明 在layout.xml文件中进行使用 在View的构造方法中进行获取2.测量onMeasure3.绘制onDraw4.状态的存储和恢复(考虑在activity重建之后要存储和恢复的)主要是通过onSaveInstanceState()(实现存储)和onRe...

2019-05-02 10:34:42 133

原创 Android-属性动画&转场动画

视图动画vs属性动画:操作对象属性动画可操作的范围更大,视图动画只能操作控件属性动画可以做到视图动画做到的事情,但是属性动画会改变操作对象的属性,但是视图动画不能。通过属性动画:我们可以定义动画的时长,时间插值器,重复次数以及重复模式,延迟。属性动画就是让某个属性的值,不断发生变化,可以加速,也可以匀速。动画对象的实现类是Animator,Animator是属性动画的...

2019-05-01 15:54:56 319

原创 Android—AIDL

之间的同个进程可以通过service来通信,如果要实现不同进程的通信就需要用到AIDL了。5.0以后service的intent一定要显式声明。在程序b:AIDLdemo中运行程序,调用程序a:ServiceTest中的服务:注意com.imooc.myservice是服务的别名:(在下面这里定义的) <service android:name="....

2019-04-30 15:58:58 1510

原创 Android——Service

从使用方法上探索Service:首先创建一个简单的demo来看看service的生命周期:第一次启动Service:多次启动同一个Service:发现只有onStartCommand这个方法执行了。第一次停止Service,接下来停止就没有反应了。重新执行会重新调用onCreate的方法。好了,对于服务的启动,可以看到他的生命周期为:...

2019-04-27 22:47:29 201

原创 Android——屏幕适配方案

屏幕尺寸单位dpi,dp,sp已经在Android-ui界面介绍啦,这里再复习一遍px:屏幕上的像素点单位dp:与密度无关的像素。计算法则,以320*240像素,2.5inch的手机为例,他的dpi为160,即在屏幕像素密度为160dpi的情况下,1dp=1px。如果是320的dpi,则1dp=2px。即根据手机实际像素密度的不同,dp和px的关系如下:1dp=(像素密度/1...

2019-04-27 14:52:09 214

原创 Android-ContentProvider

ContentProvider介绍ContentProvider是安卓四大组件之一,为存储和获取数据提供统一的接口,可以在不同的应用程序之间共享数据。对于ContentProvider而言,不管数据来源是什么,他都认为是一种表,然后把数据组织成表格。ContentProvider配置:uri是外部程序访问这个程序的目标地址的uri。自定义类继承ContentProv...

2019-04-27 14:11:05 355

原创 Android—解决handler造成的弱引用问题

handler可能会导致内存泄漏的问题:因为handler是异步操作,而且会持有activity的引用,如果activity要被销毁,但是handler还在执行,那么在垃圾回收的时候就无法回收activity,就会造成一个内存泄漏。可能会造成内存泄漏的写法: protected void onCreate(Bundle savedInstanceState) { su...

2019-04-25 17:07:32 1480 1

原创 Android-用httpurlconnection来实现网络请求以及json解析

发送get请求 private void requestDataByGet() { try { URL url = new URL("http://www.imooc.com/api/teacher?type=2&page=1"); HttpURLConnection connection = (HttpURLConne...

2019-04-25 14:22:47 1490

原创 将Unicode字符转换为UTF-8类型字符串

public static String decode(String unicodeStr) { if (unicodeStr == null) { return null; } StringBuilder retBuf = new StringBuilder(); int maxLoop = unico...

2019-04-25 11:13:06 1096

原创 Android-UI界面(二)

ImageView和ImageButton挺简单的,略过。checkbox:功能包括全选&全不选,toast弹出当前选中的框的状态:RadioButton:RadioButton是圆形单选框,RadioGroup是个可以容纳多个RadioButton的容器,RadioButton控件可以有多个,但是同时有且仅有一个可以被选中。ToggleButton...

2019-04-23 23:31:02 115 1

原创 进程间通信与同步

进程之间的通信指数据突破进程空间的隔离,完成数据在进程间传递。管道进程间的管道通信方式有两种形式,无名管道用于父子进程间,命名管道可以用在任意进程间。无名管道管道是单向的信道,进程从管道的写端口写入数据,需要数据从读端口中获取数据,数据在管道中按到达顺序流动。下面展示一个父子进程用无名管道通信的例子:pipe()用两个文字描述符来指代管道通信的读端和写端(fsn[]数组)。其中父进程关...

2019-04-23 16:10:31 452 2

原创 Android-UI界面(一)

解析UI界面安卓的UI界面和activity密不可分,要解析UI首先从活动入手:activity是程序的组件,是用户和程序进行交互的界面。启动activity流程:操作系统调用Manifest.xml文件,在Manifest.xml中被注册的activity就会被启动和执行。在activity的方法中调用oncreate()方法,调用setContentView()来指定activ...

2019-04-22 22:55:37 488

(客户端)python实现tcp通信

(客户端)python实现tcp通信

2017-09-26

空空如也

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

TA关注的人

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