自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Simon_night的专栏

工作第一(技术和工作能力的提高),学习第二 , 生活第三 ,业余爱好第四。

  • 博客(37)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 为什么一定要整理博客或者技术笔记,个人的一些感想!

每次写博客或者笔记的时候,都忍不住想在前面写这么一段。 得益于网络的发达,我们获取知识的渠道变的多不胜数。知识也变的纷杂驳乱。 也是受够了网上的那些乱七八糟的博客。 你想写的东西可能网上都能找的出来,都能搜到。为什么还要写它呢! 难道就是像网上那些乱七八糟的博客一样只是为了骗点击率吗!当然不是,如果是这个目的,写那有个毛用!我也是经历了很多挣扎和感悟,体会出来了我认为的写博客的意义!

2017-09-01 14:04:52 1152 3

原创 启动tomcat 闪退,将startup.bat 拖入cmd中执行时出现 Using CATALINA_OPTS:““

启动tomcat 闪退 ,Using CATALINA_OPTS:""

2023-07-21 20:17:13 1148 2

原创 Android平台的兼容相关概念详细整理

设置应用的支持版本通过我们会在文件夹下,指定下面属性,来表示我们应用所支持的Android版本。 uses-sdk android:minSdkVersion="integer" android:targetSdkVersion="integer" android:maxSdkVersion="integer" />

2017-12-06 10:09:35 1271

原创 记一次android Bug解决的曲折心路历程(java.net.ProtocolException: expected 0 bytes but received 2048)

问题描述: 上周四的一天,产品经理找到我,说学校里面有几个用户在使用我们的一款应用(我们应用是教学软件)的过程中拍照后上传图片一直提交失败。第一波心理历程: 当时我听到这个问题的第一反应就是,去后台看看对应用户的操作路径,看看操作路径上的埋点以及收集上来的用户设备信息,内存信息,报错的堆栈信息等等。从而分析出哪个步骤出问题了,以便能够找到复现的步骤,定位问题的真正原因。可是

2017-12-04 19:55:37 15316 4

转载 Java线程的生命周期和状态控制

线程状态转换图: 1、新建状态 用new关键字和Thread类或其子类建立一个线程对象后,该线程对象就处于新生状态。处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态。

2017-11-16 10:06:15 505

原创 Java 线程安全问题及线程锁(读书笔记)

首先整理多线程同步的知识点,开头肯定是要先探讨探讨多线程同步的问题。那么嘛叫线程安全问题呢? 答: 我们知道Jvm虚拟机的设计中线程的执行是抢占式的,线程的执行时间是由底层系统决定的。所以就会有多个线程访问同一个数据时的不同步问题。这个就是多线程安全问题。

2017-11-15 18:11:08 5242 3

转载 Java多线程(四)---线程池

系统启动一个新线程的成本是比较高的,因为它涉及到与操作系统的交互。在这种情况下,使用线程池可以很好的提供性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池。

2017-11-14 15:18:36 363

原创 Java 多线程概述和创建(疯狂java讲义读书笔记)

线程概述: 几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个进程。

2017-11-14 14:42:23 265

原创 数据结构-线性结构之队列

什么是队列?队列是一种具有一定约束条件的线性表。是一种常用的数据结构。基本思想是:先进先出即最先被接收的对象,最先被处理。所以又叫先进先出表(FIFO)。例子: 队列的例子生活中有很多,比如:买火车票排队,排头最先买到车票,新来的排在队尾;进车站时安检先进去的最先出来,后进去的后出来。队列的抽象数据类型描述:类型名称: 队列(Queue) 数据对象集: 一个有0个或多个元素的

2017-11-09 14:23:08 663

原创 数据结构-线性表之堆栈

什么是栈?是一种数据结构,能够实现后进先出的一种业务场景。即栈中的元素被处理时,按后进先出的顺序进行。所以栈又叫做后进先出表(LIFO); 例子:生活中的叠放在厨房桌子上的碗就是一种栈结构。放的时候只能把碗放在最上面,取的时候只能从最上面开始取。 栈结构的应用有表达式求值,函数调用及递归实现,深度优先算法,回溯算法等等..栈的抽象类型描述:类型名称:

2017-11-08 17:21:15 296

原创 数据结构-线性结构之线性表

什么是线性表?“线性表(Linear List)”:由同类型数据元素构成的有序序列的线性结构 1.表中元素个数称为线性表的长度 2.线性表没有元素时,称为空表。 3.表起始位置称为表头,表的结束位置称为表尾。

2017-11-08 14:33:39 389

原创 java Collections工具类使用总结(疯狂java讲义读书笔记)

1.排序操作 2.查找,替换操作 3.同步控制Collection c=Collections.synchronizedCollection(new ArrayList());List list=Collections.synchronizedList(new ArrayList());Set set=Collections.synchronizedSet(

2017-11-05 20:29:13 226

原创 Java Map集合知识点整理(疯狂Java讲义读书笔记)

JDK文档:http://tool.oschina.net/apidocs/apidoc?api=jdk-zhMapMap用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map中的Key值,另一组值用于保存Map中的value。key和value都可以是任何引用类型的数据。Map的key不允许重复,即同一个Map对象的任何key值通过equals方法返回总是false。

2017-11-05 16:37:00 456

原创 java Collection集合知识点整理(疯狂java讲义读书笔记)

JDK文档:http://tool.oschina.net/apidocs/apidoc?api=jdk-zhCollection和Iterator接口:Collection接口:Collection接口是List, Set, Queue接口的父接口,该接口里定义的方法既可以用于操作Set集合,也可以用于操作List和Queue集合。Collection接口里定义了如何操作集合元素的方法。

2017-11-02 17:31:26 407

原创 Java-泛型知识点整理

1. 定义泛型接口和类在定义接口或类时指定一个类型形参,该参数名为E, 在这个接口或者类中,这个类型形参可以当成一个类型来使用。public interface

2017-09-22 14:23:52 361

原创 Android BroadCast 各种注册和发送方式的特点整理以及7.0以上版本的使用变化

本篇文章的内容都是作者通过阅读BroadCast的官方文档并结合自己的开发经验整理而成的。 英文好的同学请移步,看官方文档之前,我还是建议大家看一下这篇文章,因为这篇的整体的结构和每个知识的说明我都整理了一番。可以方便大家快速的理解!

2017-09-01 13:28:10 675

原创 集中式vs分布式

我们知道CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢?各有什么优缺点呢? 我们用两张图直观的分析两种版本控制系统的区别

2017-08-31 09:50:21 2306 1

原创 Gradle 系列第二讲-android studio中的四个Gradle相关文件讲解

在android studio中,我们创建一个android项目,会自动生成以下6个gradle的相关文件或文件夹。 下面我们来依次全面解析这几个文件的内容和具体的作用。

2017-08-31 09:40:50 906

原创 Gradle系列第一讲-什么是Gradle? Gradle是做什么的?

我之前一直都把Gradle理解为一个android studio工程的依赖管理和打包工具。 这么理解其实也没什么问题。但是这么理解不够全面和系统,会给我之后系统的使用gradle造成一定的限制。所以是时候来全面的认识一下gradle了。 啊啊啊 !那应该怎么理解gradle呢? gradle 是目前非常流行的一个项目构建工具。 它并不局限于一种平台。 那什么是项目构建工具呢,我们又为什么要用项目构

2017-08-31 09:40:09 19111

原创 Android studio中查看依赖的第三方库的历史版本和最新版本

我依赖的这些第三方库项目,都发布哪些版本,最新版本是什么呢? 经过一番google后,我找到了查看这些版本的方式! 很简单!

2017-08-31 09:37:39 4673

原创 使用Android studio 查看其它app的布局的结构

日常开发过程中,难免会遇到一些比较好看的布局,这时候我们就想学习一下别人的布局结构,以便参考。如果是前端开发的话,直接用Chrome可以查看别人布局的结构。如果是android的就比较麻烦一些。不过也是可以的。只需要简单的两步。

2017-08-31 09:33:51 22679 1

原创 Service知识点之远程Service

@(读书笔记)   之前开启的Service都是在主进程中开启的,那么怎么开启一个不同进程的Service呢,不同进程的Service又有哪些特性呢? 将普通的Service转化成一个Remote Service是非常简单的一件事情,只需要在注册的时候将它的android:process属性指定为:remote就可以了,代码如下:

2017-08-31 09:28:04 323

原创 Service的各种知识点

@(读书笔记)    Service主要用于在后台处理一些耗时逻辑,或者去执行某些需要长期运行的任务。有时候在程序退出的情况下,Service也会在后台继续保持运行状态。1.Service的基本用法:1.新建一个MyService继承Service,并重写onCreate()、onStartCommand()和onDestroy()方法: 例: public class MyService

2017-08-31 09:26:52 578

原创 Activity的IntentFilter匹配规则

@读书笔记  我们知道,启动Activity分为两种方式,显示调用和隐式调用。显示调用需要明确的指定被启动对象的组件信息,包括包名和类名,而隐式调用需要Intent能够匹配目标组件的IntentFilter中所设置的过滤信息,如果不匹配将无法启动目标Activity. IntentFilter中的过滤信息有 - action - category - data过滤规则的示例如下: <acti

2017-08-31 09:22:03 430

原创 Activity之任务和返回栈

一个应用程序中会有多个activity,每个activity一般都有自己独立的功能。我们可以用activity启动自己应用中的另一个activity。例如:从一个数据列表界面,跳转到一个数据详情界面。也可以用我们的activity去打开其他应用的activity,比如要发送一封邮件。就是使用intent去跳转到邮箱应用的activity中,邮件发送完成之后,点击返回就可返回。即使有很多activit

2017-08-31 09:18:08 817

原创 Activity的四种启动模式

什么是启动模式,我们知道在默认情况下,当我们多次启动同一个Activity的时候,系统会创建多个实例并把它们一一放入任务栈中。当我们点击back键的时候这些activity会一一回退。这样就会有一个问题,多次启动同一个activity,系统会创建多个实例,这样是很耗资源的。所以android的设计者提供了启动模式来修改系统的默认行为。目前有四种启动模式: - standard - single

2017-08-31 09:14:50 515

原创 Activity的生命周期

Activity是什么,作为android四大组件之首。是我们使用最频繁的一种组件。正常情况下,我们除了window,Dialog和Toast,我能够看到的所有Android界面都是Activity。

2017-08-31 09:13:29 447

原创 handlerThread使用场景分析及源码解析

这篇博客将结合Android7.0源码,解析HandlerThread的使用场景及实现原理。1.为什么要有handlerThread组件出现?   在Android中我们使用消息机制进行线程间的消息传递,如果是向主线程传递消息,我们构造主线程的handler,并使用他发送消息。使用起来还是很方便的。但是如果是要子线程传递消息,就需要构建子线程的handler. 这样使用起来就比较麻烦了!比如下面这样

2017-08-29 11:58:14 1242

原创 AsyncTask源码梳理及总结

结合Android 7.0源码,全面解析AsyncTask的源码,梳理AsyncTask使用过程中的一些注意事项。 分析源码之前,我们先来梳理一下使用,AsyncTask使用示例: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanc

2017-08-25 17:26:02 212

原创 Android消息机制梳理

从源码的角度解析android的消息机制,结合7.0源码,重新梳理一下android的消息机制。 Message ,Looper,Handler,MessageQueue的关系。我们都知道Android的UI不是线程安全的,所以不能在子线程中操作UI组件,如果子线程中有操作UI的需求。我们都会通过handler来进行线程间的通信。例如: Handler handler=new

2017-08-24 19:07:03 255

原创 观察者模式

我知道android的listview是用的观察者模式,Eventbus也是用的观察者模式。但是我还是不能灵活的使用这种设计模式。所以我想整理一下这种设计模式,以便加深对于这种设计模式的理解。什么是观察者模式,观察者模式是用来做什么的? 每种设计模式都是用于解决软件开发中的一些通用问题产生的,观察者模式同样如此。

2017-03-17 17:45:15 258

原创 Tomcat服务器之于javaweb

做javaweb开发,就不能不知道tomcat服务器。可以tomcat服务器是什么呢?维基百科上说: Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特

2017-03-17 17:43:56 745

原创 Socket基本用法及实现长链接

Socket基本用法及实现长链接Socket是java中基于Tcp/Ip协议实现的一个网络通信技术,用于进行java中的网络通信,实现长链接等。注意: 1.java socket是阻塞式的,所以构建socket进行读写操作的时候,需要构建线程进行。 2.如果是在移动端使用,只有一个或者两个的连接的时候可以使用原生的socket。 但如果是服务端处理大量的客户端连接的时候

2017-03-14 10:24:46 533

原创 File类使用详解

疯狂java讲义读书笔记之File类的使用详解File类是java io包下代表与平台无关的文件和目录,也就是说,如果希望在程序中操作文件和目录,都可以通过File类来完成。File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。File类的一下常用方法和说明1.访问文件名相关方法: - String getName(); 返回此File对象所表示的文件名和路径名(如

2016-05-12 17:28:28 5887

原创 RandomAccessFile类使用详解

RandomAccessFile类使用详解疯狂java讲义读书笔记之RandomAccessFile类的使用详解1.RandomAccessFile特点  RandomAccessFile是java Io体系中功能最丰富的文件内容访问类。即可以读取文件内容,也可以向文件中写入内容。但是和其他输入/输入流不同的是,程序可以直接跳到文件的任意位置来读写数据。

2016-05-12 14:56:00 16089 3

原创 java IO体系的学习总结

java IO体系的整理笔记1.Java Io流的概念,分类,类图。1.1 Java Io流的概念    java的io是实现输入和输出的基础,可以方便的实现数据的输入和输出操作。在java中把不同的输入/输出源(键盘,文件,网络连接等)抽象表述为“流”(stream)。通过流的形式允许java程序使用相同的方式来访问不同的输入/输出源。stram是从起源(source)到接收的(sink)的有序

2016-05-05 16:31:28 36862 12

原创 android sqlite数据库并发问题的详细描述和解决方案

线程A打开数据,正在使用数据库,这时cpu片段分到线程B,线程A挂起。线程B进入执行获取打开db时没有问题,线程B进行操作,在片段时间内数据操作完成,最后关闭数据库database.close()。线程B执行结束,线程A执行,插入数据或者其他操作。。。我靠,怎么数据库关闭了呢,然后抛出java.lang.IllegalStateException: attempt to re-open an already-closed object异常。

2015-01-22 09:21:45 8641 5

断点下载demo

断点下载demo在android上实现了下载暂停,取消等功能

2016-02-19

数据库demo

sqlite数据库问题的测试和解决方案的demo

2015-01-22

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

TA关注的人

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