
java
文章平均质量分 83
zuochunsheng
这个作者很懒,什么都没留下…
展开
-
白话-设计模式
23种设计模式分类创建型模式 (共5种):工厂方法模式 抽象工厂模式 建造者模式 单例模式 原型模式结构型模式 (共7种):适配器模式 桥接模式 ;装饰器模式 代理模式 ; 组合模式 外观模式 享元模式行为型模式 (共11种):策略模式 模板方法模式 责任链模式 观察者模式 迭代子模式 命令模式 状态模式备忘录模式 访问者模式 中介者模式 解释器模式------------------- 创建型 ----------------------简单工厂模式(静态工厂模式) :用一原创 2021-01-22 19:05:02 · 331 阅读 · 0 评论 -
Object几个方法
/** * 根据属性名获取属性值 * get后的字母必须是大写字母的方法 getUId (uId) */ public static Object getFieldValueByName(String fieldName, Object o) { try { String firstLetter = fieldN...原创 2019-10-15 21:16:20 · 170 阅读 · 0 评论 -
FileProvider 通用写法
问题1 声明在 主module 的manifest 文件中 声明如下provider: <!-- FileProvider配置访问路径,适配7.0及其以上 --> <provider android:name="android.support.v4.content.FileProvider" android:authorities="${...原创 2019-10-15 19:16:49 · 851 阅读 · 0 评论 -
阿里Java开发手册之编程规约
参考 阿里Java开发手册之编程规约转载 2017-10-25 14:23:50 · 252 阅读 · 0 评论 -
线程中sleep和wait有什么区别
备注 : 上篇有点乱,重新转载一篇 不重复造轮子sleep和wait区别转载 2017-02-10 09:14:49 · 2464 阅读 · 0 评论 -
java通信一:Socket通信原理简单理解
java通信一:Socket通信原理简单理解转载 2018-03-02 11:04:32 · 394 阅读 · 0 评论 -
安卓-使用BuildConfig实现多渠道打包
#####一.多环境编译背景1 我们新建一个Android项目,获取是否debug标记 如下:public static boolean isTest = BuildConfig.DEBUG;2 编译打包默认的编译命令 如下://编译并打Debug包(windows: gradlew ;mac/linux : ./gradlew)gradlew assembleDebug//编译并...原创 2019-06-26 17:08:04 · 1576 阅读 · 0 评论 -
Activity 跳转及传值返回
一.ActivityA跳转ActivityB及传值返回1. ActivityA 跳转 Intent intent = new Intent(this, ActivtyB.class); startActivityForResult(intent, REQUEST_SELECT);2.ActivityA onActivityResult 获取返回结果 @Overrid...原创 2019-09-06 20:00:41 · 578 阅读 · 0 评论 -
Owner上传的maven/bintray/jitpack工具库使用方法
1 bintray 6.0申请权限 compile 'com.github.zuochunsheng:permission:0.3' //使用方法 PermissionUtil.getInstance(Context) .requestRunTimePermission(new String[]{Manifest.permission.CALL_PHONE, ...原创 2019-09-12 10:35:29 · 198 阅读 · 0 评论 -
java.lang.StackOverflowError: stack size 8MB(OOM问题)
错误原因字面意思是: 堆栈溢出错误:堆栈大小为8MB 说明此时程序 堆栈已经满了,超出了堆栈的最大容量,多刷几次 还会出现如下错误:OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stack available内存溢出(OOM),没有可用的堆栈(系统已经不能再分配出你所需要的空间),甚至造成程序A...原创 2019-09-27 15:05:44 · 4138 阅读 · 0 评论 -
JSON解析
概念JSON 的全称是JavaScript Object Notation,是一种轻量级的数据交换格式。特点本质上就是具有特定格式的字符串 2 JSON完全独立于编程语言 3 JSON 比XML 数据传输的有效性要高出很多。数据格式1 json 对象 —>map { key1:value1, key2:value2} key的数据类型 :字符串 value的数据类型 :数值,字符串,nul原创 2017-09-25 23:46:32 · 334 阅读 · 0 评论 -
Android开发必备的一些网址
android开发必备的一些网址转载 2017-05-16 10:34:16 · 344 阅读 · 0 评论 -
Java取一个数组里面第二大的数
参考 Java取一个数组里面第二大的数据原创 2017-05-04 15:18:20 · 11105 阅读 · 2 评论 -
Android性能优化之巧用软引用与弱引用优化内存使用
Android性能优化之巧用软引用与弱引用优化内存使用前言: 从事Android开发的同学都知道移动设备的内存使用是非常敏感的话题,今天我们来看下如何使用软引用与弱引用来优化内存使用。下面来理解几个概念。1.StrongReference(强引用)强引用是我们最最常见的一种,一般我们在代码中直接通过new出来的对象等,都是强引用,强引用只要存在没有被销毁,内存就不会被系统回收。我们以生成Bitm转载 2017-01-16 18:01:22 · 368 阅读 · 0 评论 -
JAVA中的反射机制
反射,当时经常听他们说,自己也看过一些资料,也可能在设计模式中使用过,但是感觉对它没有一个较深入的了解,这次重新学习了一下,感觉还行吧! 一,先看一下反射的概念: 主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。 反射是Ja转载 2017-02-10 10:28:56 · 325 阅读 · 0 评论 -
多线程相关 Thread、Runnable、Callable、Futrue类关系与区别
Java中存在Runnable、Callable、Future、FutureTask这几个与线程相关的类或者接口,在Java中也是比较重要的几个概念,我们通过下面的简单示例来了解一下它们的作用于区别。Runnable其中Runnable应该是我们最熟悉的接口,它只有一个run()函数,用于将耗时操作写在其中,该函数没有返回值。然后使用某个线程去执行该runnable即可实现多线程,Thre转载 2017-02-11 11:26:48 · 370 阅读 · 0 评论 -
Java StringBuffer 和 StringBuilder 类
相同点: StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。不同点: StringBuilder 类,它和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。 但 StringBuilder 相较于 StringBuffer 有速度优势,效率会更高,所以多数情况下建议使用原创 2017-01-26 10:50:51 · 249 阅读 · 0 评论 -
java 中boolean与Boolean的区别
刚才处理了一个 android 与 js 互调传值问题, android 获取 js 传的布尔值,var flag = true ; android 端方法接收 刚开始 用 Boolean isFlag 接收不到,改为boolean isFlag 就可以接收到了,实在是想不通了 ;boolean是基本数据类型 Boolean是它的封装类,和其他类一样,有属性有方法,可以new, 例如:Bo原创 2017-03-08 13:33:39 · 9569 阅读 · 0 评论 -
com.google.gson.internal.LinkedTreeMap cannot be cast to test.XBean at ...
今天用 rx Observable.just(tBaseResponse.getRes().getData());做统一返回泛型网络数据 包如上标题错误,调试发现 rx 会将对象自动转为key-value 形式,解析错误。public class BaseResponse<T> { private String code; private Res res; public cl原创 2017-03-21 18:07:50 · 821 阅读 · 0 评论 -
Java 加密&解密
参考: Wiki_JAVA_AESUtil(加密解密)转载 2017-03-23 13:38:17 · 292 阅读 · 0 评论 -
lambda expressions are not supported at this language level
参考 lambda expressions are not supported at this language level(需设置project language level)转载 2017-05-12 13:31:19 · 514 阅读 · 0 评论 -
求一个数组中的出现次数最多的元素的个数
参考 用Java实现求一个数组中的出现次数最多的元素的个数转载 2017-05-04 14:54:48 · 3326 阅读 · 0 评论 -
架构 白话软件设计中的六大原则
要了解软件设计,了解整个架构,就必须学习软件设计中的六大原则。基于所有的设计模式都是建议于这些软件设计原则的基础上发展而来的。1、单一职责原则(Single Responsibility Principle,简称SRP) 单一职责原则,就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会消弱或者一直这个类完成其他职转载 2017-02-07 15:16:36 · 596 阅读 · 0 评论