自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (2)
  • 收藏
  • 关注

原创 公众号自定义mac命令行代码风格样式

后补:最开始没有注意,其实在google浏览器中就可以看到pre::before样式。md网站的样式在哪里呢 点击一键排版 就会出来样式 选中左边代码块样式,自己编辑自己想要的样式。一直看别人的公众号发的文章的代码排版是这样的风格:mac命令行风格样式。但是代码块最原始的样子长这样,而且看了好多主题样式,不是我想要的样式,我这个样式就是基于大佬们的模版改了一些自己想要的样式。本着开源的精神,我把我调整完成的样式也放出来,的编辑器代码块有这个样式,那还不快点行动起来。主要的代码就是上面红框的部分。

2023-09-20 15:44:39 399

原创 java中的移位运算符

java 基础系列1、 左移运算符左移运算符<<使指定值的所有位都左移规定的次数。1)它的通用格式如下所示:value << numnum 指定要移位值value 移动的位数。左移的规则只记住一点:丢弃最高位,0补最低位如果移动的位数超过了该类型的最大位数,那么编译器会对移动的位数取模。如对int型移动33位,实际上只移动了33%32=1位。2)运算规则...

2019-06-26 21:12:57 237

原创 java 负数的二进制表示

JAVA 基础系列计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码,三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”反码:原码按位取反补码:反码+1移码:移码(又叫增码)是符号位取反的补码对于负数而言,是以补码的形式存储在内存中的。以-7(int)为例第一步:将-7的绝对值转化为二进制 0000 0111第二步:将上面的二进制以反码表...

2019-06-26 20:18:04 2424

原创 java一个对象占用多少字节?

最近在读《深入理解Java虚拟机》,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存?1、JAVA 对象布局在 HotSpot虚拟机中,对象在内存中的存储的布局可以分为三块区域:对象头(Header),实例数据(Instance Data)和对齐填充(Padding)1.1对象头(Header):Java中对象头由 ...

2019-06-26 12:32:41 10011 6

原创 java synchronized的实现原理

面试经常被问道synchronized关键字,有的是以题目的形式让你判断能不能执行,有的直接问实现原理,今天梳理一下使用方式Java中每一个对象都可以作为锁,这是synchronized实现同步的基础:普通同步方法,锁是当前实例对象静态同步方法,锁是当前类的class对象同步方法块,锁是括号里面的对象当一个线程访问同步代码块时,它首先是需要得到锁才能执行同步代码,当退出或者抛出异...

2019-06-22 13:15:32 166

原创 RecyclerView setHasFixedSize 作用

经常使用RecyclerView 的时候,都会看到顺手调用一句 RecyclerView.setHasFixedSize(true);一直不知道这个方法起到什么作用,今天 google一下,也看了一下源码,大概理解了,记录一下根据该方法的描述可以翻译为:RecyclerView的尺寸在每次改变时,比如你加任何些东西。setHasFixedSize 的作用就是确保尺寸是通过用户输入从而确保Rec...

2019-06-21 11:57:46 8342

原创 java 停止线程的正确方式

在看一个问题的时候突然想到之前面试,有一个面试官问我,怎么停止线程,突然断片了,趁着现在有时间,做一下总结。在网上看了几篇文章,我这篇文章大致记录一下,1、第一种方式:使用stop方法终止线程这种方式最直接了当,但是也是不可取的,调用stop()方法时会抛出java.lang.ThreadDeath异常,但是通常情况下,此异常不需要显示地捕捉public class MyThre...

2019-06-18 00:14:47 184

原创 IntentService面试必备

面试中经常被问到intentservice,在这里稍微总结一下,以备不时之需。IntentService与Service的区别1、IntentService是继承并处理异步请求的一个抽象类,在IntentService内有一个工作线程来处理耗时操作,需要实现onHandleIntent方法,该方法也是在主线程回调的方法。2、启动IntentService的方式和启动传统的Service一样,...

2019-05-15 09:47:01 220

原创 CoordinatorLayout 和 AppbarLayout 联动原理解析

下图是CoordinatorLayout布局中很常见的一种效果,很多人应该都见过,当我们用手指滑动RecyclerView的时候,不单止RecyclerView会上下滑动,顶部的Toolbar也会随着RecyclerView的滑动隐藏或显现,实现代码的布局如下:具体代码:<?xml version="1.0" encoding="utf-8"?><android....

2019-05-12 22:06:49 1491

原创 Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with multiple

今天再运行一个 APP 的时候报了这么一个错误Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed with multiple errors, see logs在网上搜索半天都是一些复制粘贴的答案,有的人说是build.gradle文件配置问题,有的说是清单文件...

2019-05-09 10:29:11 470

原创 leetcode:27. 移除元素

题目:给定一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 num...

2019-03-23 00:29:22 110

原创 leetcode:三数之和

题目给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]解决方案:先对数组做...

2019-03-22 00:58:27 119

原创 leetcode:两数之和

给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解决方案:...

2019-03-21 22:01:42 109

原创 String ,StringBuilder 和StringBuffer的区别

1、String:public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[];...

2019-03-14 16:55:45 174

原创 SQLiteDatabaseLockedException: database is locked

今天项目刚灰度,就发现线上异常:android.database.sqlite.SQLiteDatabaseLockedException: database is locked (Sqlite code 5), (OS error - 11:Try again)google了一下这个异常也没有好的解决方案,都说保证单例访问就可以,查看我的代码没有毛病,都是加了锁的,这就见鬼了...

2019-03-14 15:53:47 3196

原创 android ANR 分析

为什么会产生ANR在Android里,应用程序的响应是由ActivityManager和WindowManager服务系统服务监视的,当检测到下面三种情况的任何一种时,Android就会针对特定的应用程序显示ANR对话框。Activity的UI在5秒内没有响应输入事件(例如,按键按下,屏幕触摸)–主要类型 BroadcastReceiver在10秒内没有执行完毕 Service在特定时...

2019-03-07 16:53:40 911

原创 EventBus3.0源码分析

项目地址: https://github.com/greenrobot/EventBus EventBus是我们在项目当中最常用的开源框架之一。对于EventBus的使用方法也是非常的简单。然而EventBus内部的实现原理也不是很复杂。在这里便针对EventBus3.0的源码进行一下详细的分析

2018-03-29 10:35:39 294

原创 回文相关算法

每次面试的时候问算法的时候否被虐,近期计划去刷一下算法,也在此做一下记录题目描述 判断一个正整数是不是回文数。 回文数的定义是,将这个数反转之后,得到的数仍然是同一个数。样例11, 121, 1, 12321 这些是回文数。 23, 32, 1232 这些不是回文数。解法依次对num取余,采用临时参数reverse 记录转化后的数字,最后对比reverse与num是否相等即可publ

2017-07-21 19:48:58 851

原创 Android6.0以上权限申请

随着Android系统的不断更新,生产商越来越多采用新的API ,Android 6.0以上采用动态申请,使得google对安卓系统的控制更加严谨。但是对于开发者来说就需要多做一步了,在使用相关功能的时候要提前判断一下权限,最近看了一个比较不错的权限申请的库HiPermission,分享给大家。Demo效果如何使用?库地址:compile 'me.weyye.hipermission:librar

2017-06-20 19:58:51 503

原创 TCP/IP协议,HTTP协议--面试必备

经常面试被问到什么是http协议,什么是TCP协议,而且每次都弄不清楚,是时候记录一下了一什么是http协议二怎么发起HTTP请求三浏览器怎么解析HTTP请求四浏览器缓存是什么一、什么是http协议?如果读者对计算机网络的体系结构比较了解的话应该清楚,IP协议位于网络层,TCP/UDP协议位于传输层,HTTP位于应用层,如下图: 说明:TCP是传输层协议,主要解决数据如何在网络中传输;

2017-06-10 19:53:53 6786

原创 Android中自动跳转到系统设置相关界面

引用: https://developer.android.com/reference/android/provider/Settings.html android.provider.Settings。 1. ACTION_ACCESSIBILITY_SETTINGS : // 跳转系统的辅助功能界面 Intent intent = new Intent(S

2017-02-10 11:05:23 385

原创 Android资源文件夹命名规则

几乎所有的应用都要提另外的特殊资源来适配特殊配置的设备。例如:你必须提供不同尺寸的图片资源以适配不同屏幕密度的设备;你需要提供多个string资源文件以支持国际化。Android会根据当前设备的配置来加载适当的资源。一. Android资源文件夹命名规则android资源文件夹默认的命名见Providing Resources的table1创建指定的具体资源文件:在

2017-01-16 15:46:36 5311

原创 java 单例的几种写法---面试必备

随着我们编写代码的深入,我们或多或少都会接触到设计模式,其中单例(Singleton)模式应该是我们耳熟能详的一种模式。面试中也经常被问到,应该是必备技能。实现思路在单例的类中设置一个private静态变量sInstance,sInstance类型为当前类,用来持有单例唯一的实例。将(无参数)构造器设置为private,避免外部使用new构造多个实例。提供一个public的静态方法,如get

2016-11-18 21:03:52 355

原创 Android中的代码混淆详解

在Android开发工作中,我们都或多或少接触过代码混淆。比如我们想要集成某个SDK,往往需要做一些排除混淆的操作。 本文为本人的一些实践总结,介绍一些混淆的知识和注意事项。希望可以帮助大家更好的学习和使用代码混淆。什么是混淆关于混淆维基百科上该词条的解释为 代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为

2016-11-18 19:46:14 444

转载 常用Git命令大全思维导图

git 工作总结,一张图说明一切。

2016-11-16 11:21:46 396

原创 oh-my-zsh配置

工作需要,用到了oh-my-zsh ,记录一下。 zsh 也是一种 shell ,但是并不是我们系统默认的 shell ,unix 衍生系统的默认shell 都是 bash oh-my-zsh 地址:https://github.com/robbyrussell/oh-my-zsh如何使用zsh如果是linux 系统,首先你需要安装 zshsudo yum install zs

2016-11-16 10:36:13 1090

原创 jadx:好用的反编译工具

最近换了新公司,新公司比较高大上都是用的mac电脑开发Android,让我这个window党情何以堪, 任务:我的导师给了我们的一个开发的apk,他让我看打包混淆了没,我就翻一下我以前的工具,尼玛,都是windows下的,也上了Android的一个工具网站,没找到可用的,没办法。只能google了,收了半天,看到jadx还是比较好使的,心血来潮,记录一下。为后人乘凉。使用方式1、安装jad

2016-08-25 19:31:05 7486

原创 android混淆之从异常堆栈中还原ProGuard混淆过的代码

一 代码混淆的意义 代码混淆的一个主要的目的是为了能够保证代码的安全性:我们的代码发布出去以后,有的用户可能会使用某些反编译工具查看我们的代码,为了避免这样的行为,故有代码混淆。 代码混淆以后,原有代码的包名,类名和方法名会被修改。二、mapping文件位置此路径为: app\build\outputs\mapping{}发布渠道}\release\mapping.txt如果不存在就

2016-08-18 15:59:44 741

原创 Android手机如何判断有没有锁屏密码

Android手机如何判断有没有锁屏密码 今天来到新公司接收到的第一个任务就是这个,调研有没有方式判断Android手机有没有锁屏密码,最初的想法是自己以前写过一下程序锁的实现原理,去监听历史任务栈,看第一个程序是不是就是程序锁,结果失败告终,问了一个以前的朋友,了解到keyguard这个类,Google一下,看Keyguard解锁屏机制这个介绍的比较详细。大概了解了锁屏的原理。不多说了,直接进

2016-07-18 17:12:55 5007 3

转载 Android中apk加固完善篇之内存加载dex方案实现原理(不落地方式加载)

转自Android中apk加固完善篇之内存加载dex方案实现原理(不落地方式加载),如有侵权,还请作者告知!一、前言时隔半年,困扰的问题始终是需要解决的,之前也算是没时间弄,今天因为有人在此提起这个问题,那么就不能不解决了,这里写一篇文章记录一下吧。那么是什么问题呢?就是关于之前的一个话题:Android中apk加固技术实现关于这个问题,之前的一篇文章已经说过了,没

2016-06-14 18:46:09 4637 3

原创 git简单使用-github

老东家用的SVN,待得时间长了git的相关命令都忘得差不多了,来新公司使用的git,还是把git给捡起来,该文章以我的github下面的gitTest项目为例,进行简单的使用,算是基础总结吧! 1,创建github账号    如果你没有账号就去github官网注册一个   参考stormzhang的从0开始学习 GitHub 系列之「加入 GitHub2,window 电脑

2016-06-14 16:40:02 469

原创 ViewPagerWithIndicator 自定义ViewPager下方带圆点指示器

工作之余,记录一下自己平常用到的一个ViewPager下方带圆点指示器的demo,有需求的朋友可以直接使用!效果图:   该类库包含两个类ViewPagerWrapContent :对ViewPager的继承,动态计算ViewPager内部View的高度部分代码如下:@Overrideprotected void onMeasure(int widthMeasureS

2016-06-14 11:11:52 1610

原创 通用的BaseActivity--android技术储备

在Android开发中,相信大家都会建立一个baseActivity类,来封装一些通用的操作,今天就用一篇blog记录一下自己平常封装的BaseActivity,希望可以帮助初学者该BaseActivity还有很多不足之处,比如没有loading等,用的同学可以自行添加!package com.zzx.demo;import android.content.Intent;imp

2016-06-13 17:21:22 902

原创 FragmentPagerAdapter和FragmentStatePagerAdapter 使用场景及源码分析

FragmentPagerAdapter 和FragmentStatePagerAdapter  内部都封装有FragmentManager和FragmentTransaction,用于管理Fragment;使用Fragment 来表示一页,显得更加简单和直观,Fragment  本身提供的一些特性可以让我们方便的对每一页进行管理,使用FragmentManager可以根据ID或T

2016-06-13 16:47:12 767

原创 androidstudio使用问题---AidlTokenType

Androidstudio使用问题总汇

2016-03-29 16:42:30 3449 1

原创 android 防止重复点击

Android防止重复点击

2016-02-22 09:33:47 533

原创 Android studio jni编写步骤,流程

Android studio jni编写

2016-01-05 18:23:21 454

原创 listView中嵌套viewpager随着listview滚动

直接上代码:package com.example.demo;import java.util.ArrayList;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.TimeUnit;import

2014-05-08 18:05:53 528

ListView嵌入viewpager

很好用的ListView嵌入viewpager 不影响下拉刷新等操作

2014-05-08

个人服务器

个人服务器 服务器搭建 服务器搭配 服务器

2012-12-28

空空如也

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

TA关注的人

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