自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

若云_bai的专栏

爱生活,爱java,爱android~~

  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android Gradle 自定义入门

今天我们来讲解下自定义 gradle 插件的方式和如何上传到 Jcenter 仓库。自定义插件开发可以用很多种方式,今天我们来讲讲。在 build.gradle 中直接定义在Android 项目中 ,创建 buildSrc 目录通过 module 方式创建使用 idea 创建单独的项目重要:自定义 plugin 里面没有语法检测,所以出现语法问题的话,就会报错* What w...

2020-03-17 14:16:57 111

原创 Java字节码这么有趣?

java中的字节码,如果你之前没有接触过,那么可能会感觉比较难。我们先来看几个在开发中都会用到的例子,来增加学习的趣味性。1. 例子1.1 switch我们在开发中经常用会用到switch来判断条件,那么判断字符串是不是像代码写的那么简单呢?是不是直接case 到就可以执行内部的代码呢?让我们来看看它内部的秘密。public class SwitchClass { public...

2020-03-17 14:16:07 79

原创 升级 centos7 内核

前言最近买了一台云服务器。想要对建站方面的知识进行了解,然后打造属于完全属于自己的云服务器!~由于CentOS 使用的都是比较老的内核,现在对 Centos内核进行升级,升级到最新的 release 版本,增强服务器的稳定性。操作记录如下,希望对其他人有所帮助!1. 查看当前系统版本cat /etc/redhat-releaseCentOS Linux release 7.7.1...

2020-03-17 14:15:08 302

原创 RxBinding使用指南

关于版本问题如果是 java 代码想使用,那么选择 https://github.com/JakeWharton/RxBinding/tree/2.2.0最新的 3.3.0 是 kotlin 实现的。rxjava 引用packagingOptions { //Use “exclude” to point at the specific file (or files) that An...

2020-03-17 14:14:10 843

原创 Android Handler原理全解析

一.Handler 运行原理图二.创建1.主线程中创建一般在 Activity 中这样创建 Handler,其实当前的 Handler 获取的 Looper 是在 ActivityThread 中创建的。Handler handler = new Handler();//Looper 是在ActivityThread 中创建的ActivityThread 源码,ActivityThr...

2020-03-17 14:13:28 471

原创 kotlin 并不是万能良药

在没有深入字节码之前,我对kotlin是抱有很多的憧憬,在具体的写代码时候,确实也感觉到了很多方便的语法糖,方便我们快速开发。但是突然,我想看下 kotlin 生成的字节码和 java 生成的字节码有什么不同,就发现了背后的秘密。1. 常量中的秘密1.1 全局静态常量 变量定义常量变量//Valvarconst.kt`const val name1 = "const"val nam...

2020-03-17 14:12:28 58

原创 实战 JVM 字节码

一.开始的契机老板说:“app中的登录流程、注册转化、购买转化、分享转化、banner位的数据拿过来我看下,分析下用户的操作习惯,界面的停停留时间,用户的手机类型…”。当我们需要了解页面加载性能时,可以通过埋点的方式记录页面阶段耗时、网络耗时、数据库加载耗时以及其他耗时点,配合数据分析平台,能直观地了解到页面的各种情况。之前都是使用第三的sdk和服务,比如友盟、shareSDK、神策等第三...

2020-03-17 14:11:30 122

原创 CocoaPods,快点我的宝贝!

1. 遇到的问题我们在编写 ios 项目的时候,一般使用 CocoaPods 来管理第三方库。那么你有没有遇到如下问题!在使用的过程中,有没有遇到过下载仓库很慢,慢到你思考人生?如何不使用--no-repo-update来对仓库进行加速?使用的时候快到你想象不到?CocoaPods1.9.0+版本优化流程,想要使用的话,应该怎么升级?1.1 macOS 10.14.4 ...

2020-03-17 14:10:35 67

原创 Android屏幕适配-终结者

Android屏幕适配专题Android屏幕适配-必备知识Android屏幕适配-终结者前言屏幕适配问题一直在开发中存在,没有一种完美的解决方案。Android 的碎片化很严重。下面这张图片所显示的内容足以充分说明当今Android系统碎片化问题的严重性,因为该图片中的每一个矩形都代表着一种Android设备。而随着支持Android系统的设备(手机、平板、电视、手表)的增多,设备碎...

2020-03-17 14:07:59 303

原创 Android屏幕适配-必备知识

Android屏幕适配专题Android屏幕适配-必备知识Android屏幕适配-终结者你是否被屏幕的各种参数(dpi.ppi等)搞的头晕眼花?屏幕的密度到底是怎么回事?应该如何来进行屏幕适配?如何根据 UI 给的图来进行屏幕适配呢?下面我们来一步一步的了解。基本概念下面的概念可以参照此图来进行理解。1. 分辨率分辨率就是手机屏幕的像素点数,一般描述成屏幕的“宽×高”...

2020-03-17 14:06:41 430

原创 Http前世今生

现在开发者离不开网络,所以都应该了解http协议以及它在整个网络中所起的作用。知道了这些,对开发更好的应用起到很好的帮助作用。下来,开始讲述HTTP是什么,它的由来,现在的发展以及它是如何走到这一步的。HTTP是什么?HTTP(HyperText Transfer Protocol),名为超文本传输协议。之所以叫超文本,是源于当时Tim Beners-Lee博士共享知识的设想,最初的理念是...

2020-03-17 14:05:46 230

原创 Android json 解析,你不知道的事

我们一般写 json 解析,一般都是使用比较成熟的第三方库gson、fastjson、jackson等。但是你知道吗?这些库在使用的时候,bean对象不能混淆,而且底层是通过反射来对每个属性就行赋值,那么在性能损耗上就会大大增加。1. 反序列化让我们来看看实际的例子:1.1 定义 json定义一个 json,就是普通的一个对象const val json = """{ "i...

2020-03-17 14:04:01 89 2

原创 深入 Java 并发锁

如果只有一个线程来执行代码,那么就不会有并发的问题。但是,现在 cpu 都是多核心,更别说一个核心(处理器)也可以通过切换时间片来并发的执行代码。这样就会出现数据的错乱问题,所以需要处理代码的执行顺序,来解决问题。现实中很有多关于并发的问题,比如:12306卖票,既要保证票的正确性,不多卖也不少买,又要代码执行效率高。在深入原理之前,我们应该首先了解 Java内存模型。1. Java内...

2020-03-17 14:00:55 208

原创 听说 Kotlin 编译慢?

大家有没有感觉,在开发过程中,如果是纯 java 项目,等项目越来越大之后,编译的时间也越来越长!如果添加了 kotlin ,编译会变的更慢!kotlin配置在跟 gradle 中添加配置buildscript { ext.kotlin_version = '1.3.50' //...code dependencies { classpath '...

2020-03-17 13:58:13 1612

原创 快速搭建 Node.js 开发环境

node 的环境安装方式brew 安装nvm 安装这种两种方式都有自己的有点和缺点。brew 方式安装,方便快捷,版本可以通过 brew upgrade来进行升级。但是使用的时候只能使用单一的版本。nvm 方式安装,可以很方便的切换 node 的版本,如果线上版本是 v11,你自己的练习项目是 v12,那么就可以通过 nvm use 12.11.1来进行切换。那么我们来...

2020-03-17 13:54:09 63

原创 大胸弟 requestCode还在困扰你嘛

开发中遇到的问题界面传值在开发中,当在一个A界面(Activity)中打开B界面(Activity),如果想要B->A传值的情况有很多。但是这种所有获取到的结果都需要到onActivityResult中处理的方式实在令人蛋疼。界面 Aint mRequestCode = xxx;//定义 requestCode context.startActivityForResult(in...

2020-03-17 13:50:47 140

原创 Mac电脑必备的软件

一、输入法Mac 自带的中文输入法确实很不好用,因此建议安装第三方输入法,至于搜狗、QQ、百度三个输入法的选择,主要看个人习惯了,功能上差不多,笔者使用的是搜狗。1.搜狗输入法:http://ifunapple.com/2014/06/sougou-pinyin-29/2.QQ输入法:http://ifunapple.com/2013/09/qqime/3.百度输入法:ht

2014-10-10 14:03:28 697 3

原创 android基础03:eclipse快捷键

快捷键:  1.Ctrl+M切换窗口的大小  2.Ctrl+Q跳到最后一次的编辑处  3.F2当鼠标放在一个标记处出现Tooltip时候按F2则把鼠标移开时Tooltip还会显示即Show Tooltip Description。  F3跳到声明或定义的地方。  F5单步调试进入函数内部。  F6单步调试不进入函数内部,如果装了金山词霸2006则

2014-05-30 19:37:27 419

原创 android基础02:eclipse集成SVN插件subclipse

1、  使用插件文件site-1.8.18.zip,下载地址:http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240,请将文件解压到任意目录。2、  在MyEclipse安装目录新建myPlugin目录,用于管理MyEclipse使用的插件,文件目录如下: 3、 在myPlugin

2014-05-30 19:32:39 527

原创 android基础01:开发工具

工欲善其事,必先利其器。今天,我来介绍

2014-05-30 19:23:56 428

原创 android 基础前言

好久没有写博客了,接近1年的时间都没有关注自己的博客。

2014-05-30 18:19:34 475

原创 java基础 关于GBK和utf-8的区别

GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。比如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。 所以,对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。UTF8是国际编码,它的通用性比较

2013-09-03 01:59:49 899

原创 java基础 Java集合总结

集合,常用的接口,Collection,List Set,SortedSet,Map,SortedMap用来管理/容纳多个对象的对象(或称为容器);面向对象可重用性的体现,对数组作了功能封装。Collection是一个接口:是以对象为单位来管理元素的。      基本操作:add  remove size,      遍历:迭代遍历有两个子接口:List接口和Set接口

2013-09-03 01:46:01 759

原创 java基础 Java网络总结

1 网络通信的本质是进程间通信。   2 Tcp协议和UDP协议TCP:开销大,用于可靠性要求高的场合。TCP的过程相当于打电话的过程UDP:用在对实时性要求比较高的场合。UDP的过程相当于写信的过程。注意:socket是套接字,ip和port(端口号 0~65535个端口,一个端口只能有一个进程)3,  TCP通信机制,tcp是面向连接的,实现多线程的方法有三个①

2013-09-03 01:43:27 645

原创 java基础 JavaIO总结

File:代表了磁盘上的文件或者目录I/O:jvm和外部数据源的数据交换。File,db—in-àjvm---out-àfile,db流一共有三种分类:方向分:输入流和输出流;单位分:字节流和字符流;      字节流:           InputStream/OutputStream 字节流的父接口(1)FileInputStream/FileOutputStre

2013-09-03 01:40:30 470

原创 java基础 Java多线程总结

线程:进程中并发的一个顺序执行流程。并发原理:CPU分配时间片,多线程交替运行。宏观并行,微观串行。Tread t=new Thread();表示新建一个线程对象,并不表示线程。      当调用t.start();才起动线程,当得到CPU时,就会执行线程t的方法体。线程三要素:CPU、Date、Code多线程间堆空间共享,栈空间独立。堆存的是地址,栈存的是变量(如:局部变量)

2013-09-03 01:38:34 618

原创 java基础 Java异常总结

Exception(异常):运行时的概念。1,Throwable:运行时可能碰到的任何问题的总称;      1)Error:指非常严重的错误,系统不要求程序员处理,也处理不了。如:硬件坏了.....等。      2)Exception:从代码的角度是程序员可以处理的问题;      UncheckedException(RuntimeException的子类) (未检查异常)如

2013-09-03 01:37:17 488

原创 java基础 Java内部类总结

定义在其他代码块(类体或者方法体)里的类称为内部类;编译后每一个内部类都会有自己的独立的字节码文件,文件名:Outer$Inner.class-->内部类也可以有父类和实现接口。也可以有抽象方法。 根本位置和修饰符的不同分为四种:1,member inner class       成员内部类,当实例方法或变量一样理解。      1)定义的位置:类以内,方法之外,没有静态

2013-09-03 01:35:17 498

原创 java基础 JDK1.5新特性总结

1,  可变参数 相当一个数组 m(String …s)一个方法只能有一个可变参数,且只是最后一个参数2,  Foreach循环(for(objecto:list))方便遍历数组和集合3,  枚举enum Course{      UNIX ("Luxw") {           public void study(){}      },      COREJAVA

2013-09-03 01:28:21 458

原创 java基础 Java为什么要用枚举呢

首先第一个问题:为什么要用枚举呢?重要理解:在JDK1.5之前,Java有两种方式定义新类型:类和接口。对于大部分面向对象编程来说,这两种方法看起来似乎足够了。但是在一些特殊情况下,这些方法就不适合。例如,想定义一个Color类,它只能有RED、GREEN、BLUE 3种值,其他的任何值都是非法的,那么JDK1.5之前虽然可以构造这样的代码,但是要做很多的工作,就可能带来很多不安全的问题。而J

2013-09-03 01:20:53 1264

原创 怀念张孝祥老师

传智播客(2012年1月1日)沉痛宣布,公司创始人兼教学总监张孝祥老师于2011年12月31日在北京不幸急病突发意外逝世,终年38岁,张孝祥追悼会将于2012年1月4日上午7时开始,在北京八宝山兰厅举行。 张孝祥于2001年创办锐信科技有限公司,2005年创办传智播客科技有限公司,2011年创立黑马程序员训练营,一直致力于中国的软件开发教育事业,张孝祥老师善于解剖和分析问题,善于使用生动形

2013-09-02 17:30:32 801

原创 java基础:Scanner与BufferedReader读文件有什么区别呢?

一个可以使用正则表达式来分析基本类型和字符串的简单文本扫描器。Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。 InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,否则可能接受平台默认的字符

2013-09-02 13:34:44 1653

原创 java基础:java switch(表达式)中表达式的类型都可以是哪些类型?

java 1.6(包括)以前,只是支持等价成int 基本类型的数据:byte ,short,char,int(其他的都不可以)。1.7加入的新特性可以支持String类型的数据。

2013-09-02 13:34:01 2228

原创 java基础:StringBuilder与StringBuffer的区别

相信大家看到过很多比较String和StringBuffer区别的文章,也明白这两者的区别,然而自从Java 5.0发布以后,我们的比较列表上将多出一个对象了,这就是StringBuilder类。String类是不可变类,任何对String的改变都会引发新的String对象的生成;而StringBuffer则是可变类,任何对它所指代的字符串的改变都不会产生新的对象,可变和不可变类这一对对象已经齐全

2013-09-02 13:25:42 344

原创 java基础-用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?

/*思路: * 要想证明程序的运行流程,那么就可以使用myeclipse中加入断电,然后debug单步执行,那么怎么在代码中实现呢,也就说怎么使用代码来证明呢? * return是在finally执行后才返回的,且finally无法改变返回值 */public class Test5 { public static void main(String[] args) throws E

2013-09-02 13:21:57 1618

原创 java基础-从键盘接收一个字符串,对字符串中的字母进行大小写互转

/* * 思路: * 1.对一个字符串进行转换,那么必须要先从键盘中接收数据,所以要用到输入流 * 2.在输入后,要想对字符串中的字母进行大小写互转,那么就必须加入一个方法,来实现这个功能。 * 3.大小写字母转换,必须从String类型转换到Char[]类型,然后再进行判断 * 4.对于一般的其他字符如数字,汉字,就不用进行处理,直接打印输出即可 * */public clas

2013-08-29 10:13:28 7168

原创 java基础-编写程序计算1到100的平方和

/* * 需求:编写计算程序。1-100的平方和。 * 思路: * 1.平方和:可以使用math类。也可以直接2个数相乘。 * 2.想要进行累加,能用的方法:for循环,while循环,do while循环,递归 * 步骤: * 1.定义一个静态方法,方便主函数调用。 * 2.编写累加方法。 */public class Test1 { public static void

2013-08-29 10:12:15 8956

原创 java基础-打印任意X乘Y个菱形

/* * 题目:打印 任意X乘Y个菱形 * 思路: * 1.首先要定义出一个菱形 * 2.然后再想如何控制行数和列数 */public class outprint { public static void main(String[] args) { //定义一个2行3列的图形 ok(1, 3); } //控制行数 public static void ok(int

2013-08-29 10:10:58 739

原创 Java基础23:网络编程

一、网络编程(TCP-上传图片)import java.io.*;import java.net.*;public class Demo{ public static void main(String[] args){ }}/*需求:上传图片。*//*客户端:1、服务端点。2、读取客户端已有的图片数据3、通过Socket输出流,将数据

2013-08-29 09:54:53 479

原创 Java基础22:网络基础

一、网络编程(概述)    1、网络模型        (1)、OSI参考模型        (2)、TCP/IP参考模型    2、网络通讯要素        (1)、IP地址        (2)、端口号        (3)、传输协议    3、过程        (1)、找到对方 IP        (2)、数据要发到对方指定的应用程序上,为了标识这

2013-08-29 09:51:49 418

HttpWatch v8.5.27 带lic 支持ie9以上版本

HttpWatch是强大的网页数据分析工具.集成在Internet Explorer工具栏.包括网页摘要.Cookies管理.缓存管理.消息头发送/接受.字符查询.POST 数据和目录管理功能.报告输出.HttpWatch 是一款能够收集并显示深层信息的软件。它不用代理服务器或一些复杂的网络监控工具,就能够在显示网页同时显示网页请求和回应的日志信息。甚至可以显示浏览器缓存和IE之间的交换信息。集成在Internet Explorer工具栏。

2013-10-13

空空如也

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

TA关注的人

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