![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
ShouCeng
○ 2012年8月开始从事Android开发至今,具备4年以上Android开发经验
○ 完成10多个产品开发工作
○ 独立完成5个App开发上线工作
○ 曾就职于中科院自动化所、中科院计算所、美团网、58集团等公司
○ 硕士,毕业于北京交通大学,专业软件工程
展开
-
Java final的使用
1、Java方法形参被final修饰1)final修饰基本变量如果修饰的是基本变量,基本类型的值是不能改变的/*** 对于基本类型,基本类型的值在方法内部是不能够改变的* @param i*/public static void checkInt(final int i){//编译不通过,final修饰的局部变量i的值是不能够改变的// i=10;}2)final修饰的是引用类型的变量如果修饰的是引用类型的变量,引用类型变量所指的引用是不能改变的,但引用类型变量的值是可以改变原创 2020-12-10 11:54:41 · 195 阅读 · 0 评论 -
SimpleDateFormat性能优化
目录标题使用ThreadLocal1、重写initialValue方法2、调用set()方法赋值后台数据发现APP出现一个ANR。追踪发现是日志库SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);出现的。由于APP一旦启动就会生成大量的日志,每条日志都有日期,该代码会创建很多对象。对于一般需求改性能可以忽...原创 2020-01-09 16:58:22 · 1727 阅读 · 0 评论 -
剑指Offer题目:从扑克牌中随机抽 5 张牌,判断是不是顺子,即这 5 张牌是不是连续的。 2-10 为数字本身,A 为 1,J 为 11,Q 为 12,K 为 13,而大小王可以看成任意的 数字。
剑指Offer面试题 44:扑克牌的顺子 从扑克牌中随机抽 5 张牌,判断是不是顺子,即这 5 张牌是不是连续的。 2-10 为数字本身,A 为 1,J 为 11,Q 为 12,K 为 13,而大小王可以看成任意的 数字。原创 2017-08-01 15:33:05 · 3077 阅读 · 0 评论 -
java回调机制以及和java命令模式的关系
java的接口定义以及向上转型是理解回调的基础;使用接口的核心原因:为了能够向上转型为多个基类型。即利用接口的多实现,可向上转型为多个接口基类型。匿名类。代码随处可见new SthInterface()注册接口原创 2015-03-26 00:07:17 · 3263 阅读 · 10 评论 -
java 堆和栈
Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等 指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时 动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取转载 2015-07-20 15:36:37 · 446 阅读 · 0 评论 -
Java反射机制
一、什么是反射机制 简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字,那么就可以通过反射机制来获得类的所有信息。二、哪里用到反射机制 有些时候,我们用过一些知识,但是并不知道它的专业术语是什么,在刚刚学jdbc时用过一行代码,Class.forName("com.mysql.jdbc.Driver.class").newInstance();转载 2015-05-11 10:29:33 · 418 阅读 · 0 评论 -
Android开发模板------正则表达式检查手机号码
android应用在开发登录或注册的时候,可能会涉及到手机号码是否正确,java通过正则表达式验证手机号码格式public static boolean isMobileNO(String mobiles) { Pattern p = null; Matcher m = null; boolean b = false; p原创 2015-03-26 23:22:38 · 1088 阅读 · 0 评论 -
Java 内部接口、回调
首先定义一个内部接口:package com.dsc;public class OutInterface { private InnerInterface mInterface; public String alertString(String temp) { if (mInterface != null) { return mInterface.exchange(temp原创 2014-10-08 14:50:37 · 1355 阅读 · 0 评论 -
将反射用于工厂模式
先来看看,如果不用反射的时候,的工厂模式吧:interface fruit{ public abstract void eat();} class Apple implements fruit{ public void eat(){ System.out.println("Apple"); }} class Orange implements转载 2015-02-01 17:53:20 · 530 阅读 · 0 评论 -
求连续子数组的最大和
package com.test;import java.util.Scanner;public class MaxChild { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String temp = scanner.nextLine(); Stri原创 2014-09-28 16:20:04 · 569 阅读 · 0 评论 -
java统计字符串数组中每个字符串所出现的次数
统计字符串数组中每个字符串所出现的次数public class StringSameCount { private HashMap map; private int counter; public StringSameCount() { map = new HashMap(); } public void hashInsert(String string) { if (map转载 2014-08-05 23:43:37 · 9475 阅读 · 1 评论 -
设计模式之观察者模式
有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。转载 2014-07-31 10:06:22 · 620 阅读 · 0 评论 -
程序员必须知道的10大基础实用算法及其讲解
算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地被实现出来。 快速排序使用分治法(Divideandconquer)策略来把一个串转载 2014-06-20 12:27:31 · 682 阅读 · 0 评论 -
Java线程池的工作原理与实现
简单介绍 创建线程有两种方式:继承Thread或实现Runnable。Thread实现了Runnable接口,提供了一个空的run()方法,所以不论是继承Thread还是实现Runnable,都要有自己的run()方法。 一个线程创建后就存在,调用start()方法就开始运行(执行run()方法),调用wait进入等待或调用sleep进入休眠期,顺利运行完毕或休眠被中断或运转载 2014-04-21 09:39:24 · 985 阅读 · 0 评论 -
java中的引用类型概念
1、什么是引用类型 引用类型(reference type)指向一个对象,不是原始值,指向对象的变量是引用变量。 在java里面除去基本数据类型的其它类型都是引用数据类型,自己定义的class类都是引用类型,可以像基本类型一样使用。 示例如下: public classMyDate { private int day = 8转载 2014-03-26 09:39:15 · 957 阅读 · 0 评论 -
匿名内部类
abstract class Father(){....}public class Test{ Father f1 = new Father(){ .... } //这里就是有个匿名内部类}一般来说,new 一个对象时小括号后应该是分号,也就是new出对象该语句就结束了。但是出现匿名内部类就不一样,小括号后跟的是大括号,大括号中是该new 出对象的具体的实现方法。转载 2014-04-29 13:39:05 · 508 阅读 · 0 评论