自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 JAVA锁机制

synchronized和Lock均为可重入锁。即可为该对象多次加锁,通过锁标志+1进行操作;当所标志为0时,释放所。重入锁目的是为防止死锁发生。 synchronized:基于系统内核实现线程等待(通过linux系统pthread_mutex_lock命令进行等待)。         a、将线程通过CAS操作放入ContentionList队列头部。         b、当Owne

2017-09-26 10:55:22 146

原创 ThreadLocal学习

ThreadLocal是线程变量,主要为防止多线程环境中,变量访问冲突问题。 ThreadLocal为每个线程创建了一个变量副本,实际就是在线程Thread类中有个私有属性,如下图: 实际数据存储是在ThreadLocal中的ThreadLocalMap中存储,ThreadLocal相当于一层包装,所有的get,set操作都是对这个map进行操作。 这个map的key值都

2017-09-26 10:54:58 122

原创 linux关于bashrc与profile的区别

bashrc与profile的区别 要搞清bashrc与profile的区别,首先要弄明白什么是交互式shell和非交互式shell,什么是login shell 和non-login shell。 交互式模式就是shell等待你的输入,并且执行你提交的命令。这种模式被称作交互式是因为shell与用户进行交互。这种模式也是大多数用户非常熟悉的:登录、执行一些命令、签退。当你签退后,sh

2017-09-26 10:52:30 134

原创 JVMGC机制

GC就是找到不用的对象,回收对象,释放内存。 名词解释: minor gc:年轻代回收 major gc/full gc:年老代回收 当进行年老代回收时,往往伴随至少一次年轻代回收。但在PS回收器时,则会选择只进行major gc。 对象的移动过程: 初始在eden区分配,当进行一次年轻代gc后,放入存活区。当在存活区来回复制N次(可配置),进入年老代。大对象也会直接放

2017-09-26 10:51:48 197

转载 Linux IO模式及 select、poll、epoll详解

一 概念说明 在进行解释之前,首先要说明几个概念: - 用户空间和内核空间 - 进程切换 - 进程的阻塞 - 文件描述符 - 缓存 I/O 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访

2017-09-26 10:50:54 210

原创 JAVA进程诡异消失,oom killer干的

在beta环境中,俩个项目经常性的崩溃。PS查看进程,JAVA进程消失。 先加Dump、ErrorFile查看,再次发生时,俩个日志均未输出。 尝试复现,有时发生,有时正常,很不规律。 在这过程中,top查看java进程,发现发生时,JAVA的内存会从50%一直飙升到95%,然后JAVA进程就消失了。 查看linux日志,/var/log/message 发现这么一段日志。 Ma

2017-09-26 10:39:59 4286

原创 Android逆向反编译基本方法

1、apktool + dex2jar + jd-gui 1)、通过apktool反编译apk,会反编译出smali文件和AndroidMainFest.xml等资源文件。 2)、将apk后缀名改为zip,然后解压,得到.dex文件,然后通过dex2jar转成jar文件。 3)、通过jd-gui查看jar包文件。   2、jadx 官网:https://gith

2017-09-26 10:36:53 724

原创 Android逆向初级-smali日志注入

通过apktool反编译得到的smali文件,用UE或者文本编辑器可以打开。 smali文件有些类似汇编语言。我们这里只是要注入日志,无需过多了解语法。 基本分3步。 1、在每一个方法下都有一个.locals 3 这个语句。这个是申请寄存器个数,也就是定义变量数。需要在原有基础上增加1. 2、找到关键的变量或者方法调用地点,在下面定义我们自己的日志标签变量。    

2017-09-26 10:34:17 1640

原创 Android逆向apktool使用

官网地址:https://ibotpeaches.github.io/Apktool/ apktool主要有俩个命令 1、反编译 apktool d xxx.apk -o xxx/xxx 2、回编译 apktool b srouce -o xxx.apk source是反编译后的目录

2017-09-26 10:33:17 336

原创 Android入门

1、初始环境搭建 下载Android studio,安装,会安装安卓开发使用的SDK和开发工具(IDE)。 MAC系统,SDK默认安装在/Users/xxx/Library/Android下。 将platform-tools设置为path,方便adb命令调用。 2、apk签名 APK安装到手机上,是需要签名。未签名的apk是不允许安装的。 第

2017-09-26 10:29:25 150

空空如也

空空如也

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

TA关注的人

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