自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据库 事务

MySql 笔记[事务隔离]ACID:atomicity(原子性),consistency(一致性),isolation(隔离性),durability(持久性)1.隔离性与隔离级别多个事务同时执行时,可能出现脏读(dirty read)、不可重复读(non-repeatable read)、幻读(phantom read)的问题,为了解决这些问题 ,有了***隔离级别***的概念。...

2019-07-14 16:52:39 132

原创 浅谈NIO(Non-blocking I/O)

浅谈NIO浅谈NIO(Non-blocking I/O)1> BIO (Blocking I/O)2> 同步,异步,阻塞、非阻塞3> 程序在请求网络时,到底做了什么?和IO有什么关系?4> NIO原理5> NIO示例6> NIO适用场景其他内容:优化线程模型事件分发器EPoll(linux大于 2.6) 和 Poll(linux 小于2.6)read()和wri...

2019-06-25 20:32:05 529

原创 HTTPS

为什么要用Https http是明文传输,存在窃听、篡改等风险,而https通过验证服务器正确性、协商通信加密密钥有效的降低了风险;Https 基本原理 基本原理:服务端生成密钥,并把公钥传给客户端,自己保留私钥,客户端通过使用公钥解密服务端加密的内容来确定是否连上了正确的服务器,然后客户端选择 对称加密算法和密钥,并通过公钥加密后,发送给服务端,后面的通信内容使用客户端选择的加密算法和密

2017-10-11 19:18:15 252

原创 常见数据结构在内存中是怎么存储的

前言:在开发中,经常用到数组,ArrayList,HashMap等,他们在内存中是怎么存储的呢?其实在他们在申请内存时,要么是一块连续的内存,要么是分散的,要么是内存和连续的结合使用。说白了在底层存储结构只有两种:数组和链表;数组是连续的,只要知道了首地址,就可以通过步长访问数组内所有的值,如果arraylist是基于数组的。链表是分散的,每个位置除了包含值还会包含下一项的指针,双向链表会前后

2017-08-10 14:24:45 4868

原创 Xmpp学习记录[一]:

前言前段时间产品需要实现IM功能,之前对IM的理解停留在 smack,xmpp,ejabberd 等概念。为了实现功能只能去研究xmpp,也在网上搜索了很多资料,但都无法把查询的信息串起来,正巧ejarberd服务器已经搭建完毕,于是就跑一下登录的流程,从抓包和日志去分析学习xmpp环境1,ejarberd服务器己搭建完毕,并正常工作。2,引入了smack框架,Android项目地址: 项目g

2017-07-27 10:11:23 572

原创 button drawableLeft 加上动画效果

button drawableLeft动画

2017-07-13 18:40:26 799

原创 时间段显示

/** * 根据当前时间,格式化给定时间 * * @param time * @param halfDay 是否区分上午下午 * @return */ public static String formatTimeStr(long time, boolean halfDay) { Calendar calendarI

2017-07-06 16:39:32 504

原创 Nio Tcp

package com.test.upgrade;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.PrintWriter;import java.net.InetAddress;import java.net.InetSocketAddress

2017-06-09 18:52:38 340 1

原创 AOP

最近在学习Spring框架,这里记录下对aop的理解aspect oriented programming:面向切面编程首先3个概念: - 目标类:真正去实现最核心的功能的类: - 切面类:个人认为是对目标类实现核心功能进行相应的补充,但这些补充是有共性的 - 代理类:代理类,将切面类和目录类进行整合,weaving(织入),整合后,代理类的方法(方法名和目标类中的方法相同)

2017-06-06 11:41:05 226

原创 rxJava学习笔记

什么是RxJava 官网是这么说的:“RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM. ”(RxJava:jvm的灵活扩展--一个在 Java VM

2017-04-28 18:18:44 381

原创 Java 网络异常

SocketException extends IOException 抛出此异常指示在底层协议中存在错误,如 TCP 错误。 ConnectException extends SocketException 试图将套接字连接到远程地址和端口时发生错误的情况下,抛出此异常。这些错误通常发生在拒绝远程连接时(例如,没有任何进程在远程地址/端口上进行侦听)。SoketTimeoutExcep

2017-01-12 10:22:09 2080

转载 HTTPS

https协议 最近项目中,需要将http 改为https协议,因之前不了解https协议,特抓包记录一下: 上图是一次完整 的https 请求, 解析参考: http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html 很清楚作者: 阮一峰 日期: 2014年2月 5日 互联网的通信安全,建立在SSL/TLS协议之上。 本文简要介绍SSL

2017-01-11 14:57:32 317

原创 研读 simplifyreader 学到的知识

1,网络监听 并及时通知观察者 优势,一个广播接收者,可以搞定整个应用中需要监听网络的地方。集中处理一件事注册 一个 广播接收者,用来监听网络的变化,并做为被观察者当前 网络的状态当 activity 或 其他组件需要 监听网络变化时,注册观察者,当 不需要时,取消注册2,snackbar 代替 toast ,弹出方式更先进,可以接收点击事件,可操作更多。 需要判断虚拟键挡住 snac

2017-01-05 18:22:10 451

原创 Android 部分机型有时UDP消息发送失败

现象描述:在锤子手机M1L上,有时UDP包发送不出去(抓不到发送出的UDP报文),没有任何异常报出问题定位结果:由于在发送报文之前,监听了30023端口,用于接收数据。尽管再发送报之前已经关闭了该socket在发送udp报文时,指定了源端口也是30023 导致报文无法正常发出,随机源端口,发送成功。分析:尽管socket已经close,但可能30023端口还是不能用于发送...

2016-12-25 17:32:20 2944

原创 view事件分发机制笔记

1,dispatchTouchEvent(MotionEvent ev):用来进行事件的分发,如果事件可以传递到当前view,此方法一定会调用,返回结果由当前View的onTouchEvent和子view的dispatchTouchEvent方法影 响,表示是否要消耗当前事件,如果消耗,则不向子view传递。2,onInterceptTouchEvent()      用于dispatch

2016-04-23 17:33:14 334

原创 notification自动更新

JsonResponseHandleMSJQ handler_version_new = new JsonResponseHandleMSJQ(this) { @Override public void onSuccess(JSONArray jsonArray) { try { String version

2016-04-09 15:02:47 2194

原创 Android Manager

PackageManager manager = getPackageManager();ApplicationInfo info = manager.getApplicationInfo(pkgName, 0);getSystemService(Context.ACTIVITY_SERVICE);getSystemService(Context.TELEPHONY_SERVICE);ge

2016-03-23 18:41:51 284

转载 Java中final

浅析Java中的final关键字  请尊重作者劳动成果,转载请标明原文链接:http://www.cnblogs.com/dolphin0520/p/3736238.html  谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字。另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法。

2016-03-11 10:40:51 300

原创 JSP

Jsp:可以写JAVA代码的html页面。。其实就是一个servlet::简化了之前servlet自己输出html标签的工作。。Java Server Pages:Java服务器端页面。。。出现的原因:之前是用getWriter流输出html页面。。。。但是如果比较复杂。。。这么输出费劲。。所有有了JSP服务器将jsp转换成java类,服务器启动编译器,将.java编译成.cl

2016-01-25 15:07:21 299

原创 Session && Cookie

会话:为了一次会话中的多次请求之间,共享数据。客户端访问服务器时,会话建立,一次会话中,包含了多次请求,和多次响应,直到有任意一方断开连接,会话终止。客户端会话:Cookie  用户名记住方便,但是数据不安全服务器发送响应头:set-cookie: a=3,客户端收到后,保存a=3当客户端再次请求服务器时,通过cookie :a=3 ,服务器就可以得到共享的数据。1,Java创

2016-01-25 10:34:36 362

原创 Response对象

1、Response对象功能 :首先http响应:响应首行,协议名/版本 状态码 setStatus sendError响应头:键:值,addheader(name,value):添加头信息。键可以重复。addHeader()可以添加相同的键 addDateHeader()addIntHeader()setHeader(name,value):不存在,则添加,存在则修改。

2016-01-23 14:37:04 521

转载 Android 视图绘制流程:

转载:http://blog.csdn.net/guolin_blog/article/details/16330267Android应用开发中,可以说肯定会用到View:TextView,ListView.Button等等,他们都是要经过非常科学的绘制流程后才能显示出来,每一个视图的绘制过程必须经历三个最主要的阶段:onMeasure(),onLayout(),onDraw()首先,onM

2016-01-22 17:32:26 316

原创 关于自定义控件:

创建新视图的最佳方法与希望达到的目标有关:1,如果有控件可以满足希望实现的基本功能,那么就只需要对现有的控件的外观或行为进行修改或者扩展。通过重写事件处理程序和onDraw方法。但是仍然回调超类的方法,可以对视图进行定制,而不必重新实现它的功能。2,通过组合多个视图来创建不可分割的,可重用的控件,从而使它可以综合使用多个相互关联的视图的功能。例如一个TextView和一个Button来创建

2016-01-22 17:32:24 232

原创 Android 优化布局:

1,避免冗余的布局容器:    解决方案:使用merge标签, 和include标签配合使用。2,避免使用过多的View:解决方案:向布局中添加viewStub,需要时才会填充,节约填充复杂UI的时间和资源花费。优化布局:" TITLE="Android 优化布局:" />3,使用Lint工具分析布局:

2016-01-22 17:32:21 226

原创 android设计与实现 收获

1,四天大体看了一下这么书,书上C的代码基本都没看。从总体方面了解了Android的启动、Binder、消息、PackagerManager。2,启动:回头想,只是从流程上了解了Android系统的启动流程,包括硬件上电,引导程序,kernel,在到serviceManager等等,对启动有了一个大致的了解3,Binder,了解了进程间通信的方式,完成进程间通信需要的几个部分,包括服务端,

2016-01-22 17:32:19 311

原创 读书笔记:android设计与实现第四…

Package manager:PackageManager是Android为管理应用程序安装包(APK)提供的包管理器,这部分内容和Android启动过程联系紧密,是理解Android框架层的基础之一。PackageManager主要包括以下部分:1,权限处理,包括对系统和应用定义的permission和permissionGroup信息的增加、删除、查询和检查2,报处理,包括扫描并

2016-01-22 17:32:16 297

原创 Android parcelable序列化

转载:http://www.cnblogs.com/renqingping/archive/2012/10/25/Parcelable.html1.Parcelable接口Interface for classes whoseinstances can be written to and restored from a Parcel。 Classesimplementing the

2016-01-22 17:32:14 321

原创 读书笔记:android设计与实现第三…

Binder机制:Android使用了Linux的进程管理机制,以进程为单位分配虚拟地址空间,为了安全考虑,一个进程禁止直接与其他进程交互,这样不同进城之间是相互隔离的,如果进程间需要通信,必须通过android的linux内核提供的进程间通讯机制实现间接通信。linux使用的进程间的通信方式有很多种:Socket,Signal,Pipe,MessageQueue,Semaphore,Shar

2016-01-22 17:32:12 387

原创 Aidl开发流程(android studio)

1,server端:新建aidl文件IMyInterface,在aidl文件中声明功能方法。2,执行 build ->make project3,新建ServerService继承Service,在onBind方法中实现IMyInterface.stub并返回:public IBinder onBind(Intent intent) {return new IMyAidlInterf

2016-01-22 17:32:09 301

原创 读书笔记:android设计与实现第二…

启动:android 正常模式启动流程:1,系统加电:执行bootloader,负责初始化硬件,并最后加载内核到内存中,bootloader由硬件厂商提供2,进入内核引导阶段(主要由汇编语言编写),之后调用start_kernel进入内核启动阶段(C语言编写),start_kernel最终启动用户空间的init程序。3,init程序负责解析init.rc配置文件,开启系统守护进程,最

2016-01-22 17:32:06 412

原创 Android Studio 中JNI开发流程小结

使用android Studio 1.4版本,通过jni简单打印字符串:前提:安装了ndk.并在工程中配置了NDk的目录:Studio 中JNI开发流程小结" TITLE="Android Studio 中JNI开发流程小结" />步骤:1,建立一个project,本例中使用最简单的工程,主Activity中一个textView   2 ,在MainActivity中生命native

2016-01-22 17:32:04 273

原创 读书笔记:android设计与实现第一…

做了一段时间的android应用开发,突然想彻底搞清楚android应用的原理,今天开始看android设计与开发,每天发帖,记录知识点,供以后自己回顾。也算是鞭策自己看完这么书,并有所收获:一,android体系结构: 1,应用层:在熟悉不过,之前开发的app全是应用层的东西。记账本,码上发,图片浏览,等等 2,应用框架层:给应用层提供API:ActivityManager,Wind

2016-01-22 17:32:01 583

原创 retrofit请求网络时,针对泛型解析…

使用retrofit2.0请求网络数据时实现Callback接口时,在onResponse方法中response返回json串格式如下:{ "result": 1, "data": { "user_id": "2421", "user_name": "", "user_avatar": "", "u...

2016-01-22 17:31:59 5766

原创 Fragment中的onCreateView方法什么…

最近开发中遇到一个问题:框架用 viewPager+fragment实现但是在主activity中初始化viewPager的数据时,发现当调用fragment中的方法加载数据时,fragment的onCreateView方法,还没有执行,导致没有view可以填充,具体代码如下:mViewPager.setAdapter(new MyViewPagerAdapter(getSupport

2016-01-22 17:31:56 1428

转载 Android常用代码段

出处:http://mp.weixin.qq.com/s?__biz=MzA4NjQxMjA5OA==&mid=401797794&idx=2&sn=a0a47cea6f60414a38c34bed25fbd3ad&scene=23&srci1.拨打电话:public static void call(Context context,String phoneNumber){

2016-01-22 15:41:08 308

空空如也

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

TA关注的人

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