自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (8)
  • 收藏
  • 关注

原创 Java 类加载过程

1、加载加载的过程本质上是一个读取二进制数据的过程。可以是文件,网络数据,内存中的数据等,这一阶段是可以自定义的。加载过程中会在堆中初始化一个 class 对象。2、验证验证就是验证这堆二进制数据是不是有效的,就是这个 class 数据是否可以载入虚拟机。例如验证文件是否是 0xCAFEBAB 开头,再验证版本号是否被当前 JVM 支持,然后再校验内部的变量等等是否符合规范。3、准备准备阶段会在内...

2018-04-12 10:45:32 452

原创 现有项目集成 ReactNative 框架的方法

官方的文档写了一大堆,其实主要是针对 RN 开发人员的,如果不开发 RN 或者 RN 模块有其他人开发的话,其实只要几行代码来集成 RN 的 Maven 库就可以了。1、准备 Maven 库事实上,RN 的 Maven 库本质上就是一个本地文件夹,内部有 aar、pom 等文件,aar 是核心库,pom 是依赖,因此可以从 RN 开发人员那边复制这个 Maven 库。位于 node_modules...

2018-04-12 09:13:06 219

原创 并行和并发的区别

看这张图:据说这张图是 Erlang 之父 Joe Armstrong 画的,意思是说,并发的话两个队列交替使用一台咖啡机,而并行则是两个队列分别使用不同的咖啡机。换成线程和处理器的话,就是并发是多个线程通过例如时间片轮转的方式交替使用处理器,而并行则是多个线程各自占用一个处理器同时执行。...

2018-04-11 19:30:20 236

原创 Java 垃圾回收算法

1、标记-清除标记:从根对象开始遍历所有对象并标记,遍历完成的时候,未被标记的对象就是垃圾对象。清除:从内存中删除未被标记的对象。这种算法简单,但是效率比较低,又会产生内存碎片。2、标记-整理标记:从根对象开始遍历所有对象并标记,遍历完成的时候,未被标记的对象就是垃圾对象。整理:将被标记的对象压缩到一块内存区域,然后清理内存边界到该区域的其他空间。这种算法主要是为了解决标记-清除带来的内存碎片的问...

2018-04-11 17:10:42 166

原创 Android WebView 中 JavaScript 和 Native 通信方式

0、在开发 Hybrid App 的时候,经常需要处理 JavaScript 和 Native 交互的问题,其实从根本上说,是一个通信方式的问题,至于具体实现,其实有很多的方案。1、JavascriptBridgeAndroid 中的 WebView 有 addJavascriptInterface 接口,该接口的功能是将一个 Java 对象注入到 WebView 的 window 对象中,即在 ...

2018-04-11 13:50:45 423

原创 Android WebView HTTP 和 HTTPS 混合调用

做项目的时候观察到一种现象,公司 H5 页面访问接口的时候获取不到数据。结合前后发生的事情,将原因锁定在最近公司网址由 HTTP 换作 HTTPS 上。经过查询,在 API 21 及以后,Android WebView 更改了安全策略,不允许 HTTPS 的页面通过 AJAX 调用 HTTP 接口。1、解决办法有两个,一个是将 HTTP 服务转换为 HTTPS,还有一个是更改 Android We...

2018-04-11 12:52:16 1757

原创 Java 中的 String,StringBuffer,StringBuilder

1、StringString 是一个由 final 关键字修饰的类,内部维护一个同样由 final 修饰的 char 数组。对于 String 的操作,本质上都是对内部 char 数组的操作。因此在内存中,String 是不可变的。这么做带来的好处在于,提高性能以及可能减少一定的内存使用。在编译阶段,String 常量会被放在常量池中,编译器检测到相同的 String 常量,会让它们指向同一个常量...

2018-04-11 11:27:37 137

原创 Java 中 Error 和 Exception 的区别

1、Throwable 类Error 和 Exception 都继承自 Throwable 类,因此事实上他们都是可以被 try/catch 的。2、语义上区别Error 通常代表很严重的错误,程序无法处理的那种,例如 VirtualMachineError 等。Exception 通常代表程序可以处理的异常,例如 IOException 等。3、Exception 处理Exception 中有一...

2018-04-11 10:47:33 128

原创 Java 的四个基本特性

1、抽象抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。2、封装通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装。我们编写一个类就是对数据和数据操作的封装。可以说,封装就...

2018-04-11 10:31:51 859

原创 Java 中引用方式

1、强引用:强引用与可用内存和是否发出 GC 无关,系统宁愿抛出 OutOfMemory 异常也不会去回收。一般的实现都是强引用。2、软引用:软引用对象会在系统内存不够且发生 GC 的情况下被回收。实现方式例如:SoftReference<Object> srObject = new SoftReference<>(new Object());软引用经常被应用在缓存的设计当...

2018-04-08 11:04:38 121

原创 基于栈虚拟机和基于寄存器虚拟机的比较

1、指令条数:栈式>寄存器式,例如一个加法运算 a = b + c 的字节码指令:栈式:I1: LOAD CI2: LOAD BI3: ADD I4: STORE A寄存器式:I1: add a, b, c2、代码尺寸:栈式<寄存器式,这个在 Android 开发中会经常遇到,众所周知传统的 JVM 是基于栈的,而 Android 中的Dalvik 虚拟机则是基于寄存器的,对于同...

2018-04-08 10:33:32 383

原创 Java 中的 CountDownLatch, CyclicBarrier, Semaphore

1、CountDownLatchCountDownLatch 主要用于一个线程需要等到其他线程完成任务后继续执行的场景。CountDownLatch 不可重用。示例:package site.iway;import java.util.Random;import java.util.concurrent.CountDownLatch;public class Main { pr...

2018-04-08 10:05:05 153

原创 Ubuntu Server MySQL 允许 root 用户远程访问

1、运行 apt-get install mysql-server,输入并确认密码后发现远程电脑无法通过 root 用户登录2、在服务器上用 mysql 的 root 用户登录3、use mysql; 进入 mysql 数据库4、select User,Host from user; 发现有多个 root 用户5、强迫症,删除多余的 root 用户,仅留下 Host=’localhost' 的 r...

2016-01-28 10:26:04 279

待办事项提醒软件

一个可以记录待办事项的软件,包括服务器端,客户端,数据库,服务器端使用C#编写,客户端为Android,数据库为SQL Server

2014-04-01

智能交通信号灯控制

可以根据车流量来控制交通信号灯(红绿灯)的时间,可以在一定程度上提高交通效率。

2014-04-01

通过网络传输文件(夹)源代码

通过网络传输文件(夹)源代码,采用TCP协议开发

2012-09-01

WPF 做的一款日历

WPF 做的一款日历,代码其实很短,你懂得

2012-08-06

回溯法和动态规划法解01背包问题

回溯法和动态规划法解01背包问题,控制台应用程序,代码没有编译完成,请自行编译

2012-08-06

将图片与文件打包及解包

本程序可以将指定图片与指定文件打包,在资源管理器中打包后的图片仍然可以正常使用,将打包后的图片进行解包,将解出图片中隐藏的文件,程序代码公开,用途就是在图片中隐藏文件,属于信息隐藏范畴

2012-08-06

Mathematica软件破解

Mathematica软件的破解补丁,其他的你懂得

2012-03-03

让电脑发出指定频率的声音

一段C#代码,可以让让电脑发出指定频率的声音,采用多线程控制

2012-03-03

空空如也

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

TA关注的人

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