- 博客(21)
- 收藏
- 关注
转载 死锁的例子
package DeadLock;public class DeadLock{ private static Object A = new Object(), B = new Object(); public static void main(String[] args) { new Thread(() -> { System.o...
2019-03-17 07:19:30
231
原创 生产者-消费者模型的两种实现方式
方式一:利用阻塞队列来实现生产者:improt java.util.Random;import java.util.concurrent.BlockingQueue;public class Producer implements Runnable{ private final BlockingQueue<Integer> queue; private String na...
2019-03-10 14:30:52
437
原创 Android开发基础(一)
文章目录1. App的启动流程2. 五种布局方式3. Activity的生命周期4. Activity启动模式5. Activity的缓存机制6. Fragment的生命周期7. 为什么用Service而不用Thread呢8. Service的基础知识9. Android中的动画类型10. 事件分发机制1. App的启动流程基础:1. Zygote:翻译为“受精卵”。因为Android系统...
2019-03-10 13:30:11
299
原创 Java经典面试题(二)
1. static的用法修饰成员变量:static修饰的类的成员变量不再属于成员了,而是属于类的,因为实例出来的对象并不能随意的更改他们。一旦static修饰的成员变量被修改了那么所有的实例对象都会受到影响修饰成员方法:static修饰的成员方法可以使用类名.方法名来调用,避免了要先new一个新对象的资源消耗,常用于工具类。被static修饰的成员方法里面不能使用非static修饰的成员...
2019-03-06 14:38:45
249
转载 Java经典面试题(一)
文章目录1. 多态的实现:2. 抽象类和接口的区别:3. 抽象类的注意点:4. 不可变对象:5. 静态工厂方法:6. 静态变量和实例变量:7. 反射机制:8. 创建对象的方式:9. a=a+b和a+=b的区别10. &和&&的区别:11. final, finalize, finally的不同之处:12. GC的流程:13. 拷贝(引用拷贝&对象拷贝,深拷贝&...
2019-03-05 11:22:30
1855
原创 剑指Offer编程题(六)
文章目录1. 给一个数组,返回它的最大连续子序列的和,你会不会被他忽悠住?(子向量的长度至少是1)2. 求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。3. 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。1. 给一个数组,返回它的最大连续子序列的和,你会不会被他忽悠住?(子向量的长度至少是1)max用来标识前N个数字的最大和...
2019-03-02 23:31:52
143
原创 剑指Offer编程题(五)
题目包括:1. 选取栈内最小值2. 判断栈的压入弹出序列3. 层次遍历打印节点4. 判断是否为二叉搜索树的后序遍历1. 选取栈内最小值定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。采用了双栈的思想,一个栈放历代的最小值,里一个栈存储所有的数值import java.util.Stack;public class Solution ...
2019-02-24 16:04:04
142
原创 剑指Offer编程题(四)
题目包括:1. 输入一个链表,输出该链表中倒数第k个结点。2. 反转链表3. 合并链表4. 判断二叉树A的包含B5. 镜像二叉树1. 输入一个链表,输出该链表中倒数第k个结点。注意边界情况, 如k=0, head= null/*public class ListNode { int val; ListNode next = null; ListNode(int v...
2019-02-23 13:53:08
166
原创 剑指 Offer编程题(三)
题目包括:1. 求幂2. 奇数前置稳定性算法1. 求幂给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。着重注意边界情况class Solution { public double Power(double base, int exponent) { double result = base; ...
2019-02-22 23:51:56
165
原创 剑指 Offer编程题(二)
题目包括:旋转数组斐波那契数列第n项青蛙跳台阶高阶青蛙跳台阶矩形填充旋转数组把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0import java.util.Array...
2019-02-15 15:51:48
116
原创 剑指Offer编程题(一)
题目包括:1. 输入一棵二叉树,求该树的深度。2. 判断有序二维数组是否存在target3. 将一个字符串中的每个空格替换成“%20”。4. 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。5. 通过前序和中序建二叉树1. 输入一棵二叉树,求该树的深度。/*struct TreeNode { int val; struct TreeNode *left; struct ...
2019-02-06 23:42:46
169
原创 Android试题(二)
获取屏幕属性: 获取屏幕密度 getScreen 获取设备屏幕大小 getDisplay 获得屏幕的属性,从而取得屏幕的高度和宽度 getMetrics 获得window对象 getWindowsActivity的启动模式: Android5.0之前,当启动一个Activity时,系统将首先检查Activity的launchMode,如果为A页面设置为Single...
2019-02-06 19:38:49
723
原创 Android试题(一)
Android虚拟机:DalvikDalvik与jvm的不同在于前者并没有使用JVM的规范,虽然它本质上也是java虚拟机。Dalvik利用linux进程管理的特性,对其进行了面向对象的设计,使其可以同时运行多个进程,而传统的java程序只能运行一个进程。每个Android程序都是用了一个Dalvik进程,因此Android系统更方便实现对应用程序进行隔离。https://www.cnb...
2019-02-05 13:34:39
1486
翻译 Android总结——各个版本重要变动(一)
Android4.4 KitKatAPI级别:19外部存储空间的读取:具有 READ_EXTERNAL_STORAGE 权限才能使用getExternalStoragePublicDirectory() 返回的目录中的文件。但是,如果只需要访问 getExternalFilesDir() 或者是getExternalCacheDir(),也就是本应用自己的文件夹的时候,不需要去申请READ_...
2019-02-02 15:59:19
1191
原创 Android踩坑——mkdir方法中返回false导致新建文件失败
mkdir()方法中返回false导致新建文件失败String folderName_Right = getExternalCacheDir() + File.separator;String folderName_Wrong = Environment.getExternalStorageDirectory() + File.separator; File fold...
2019-02-01 22:26:25
8417
2
原创 Android开发——网络请求
目的:输入url,将返回的信息在textview里面显示流程:将输入的URL从String类型转换为URL对象新建一个这条url的HTTPURLConnection(请求连接)设置连接(方法,超时时间等)请求联通连接将获取到的返回数据放入输入流中新建Reader对象将输入流中的数据解析成reader新建一个buffer用于接收reader中的内容用reader的read方法把r...
2019-01-29 22:52:05
857
原创 Android开发——异步网络的请求(AsyncTask)
AsyncTask的解释由于目前的Android已经不允许在UI线程中进行网络请求了,所以现在进行网络请求等较为耗时的操作都需要开辟新的线程来运行。否则有可能会造成ANR错误。而Asynctask便是解决这个问题的一种方法。在源码中注释对AsyncTask类进行这样的解释 * <p>AsyncTask enables proper and easy use of the UI...
2019-01-29 21:25:30
1433
原创 Android开发——Service基础开发
Service基础开发为什么要有Service?Service作为Android开发的四大组件之一其存在肯定是有其原因的。对于Activity来讲,其生命周期为create, start, resume, pause, restart, stop, destroy几个阶段,但是当位于activityA时按home键返回桌面时此时的activityA会先后经历pause和stop阶段,这也就表示...
2019-01-20 20:27:17
164
原创 Android开发——ListView基础
ListView开发基础创建并实例一个ListView需要对5个文件进行修改。分别是activity文件,xml布局文件(包含listview控件的),item_listview.xml文件(设置listview每行长啥样),自定义的adapter以及 数据对象的类。xml布局文件&lt;ListView android:id="@+id/listView" ...
2019-01-18 18:35:00
218
原创 Android开发——关于活动的启动模式
活动的启动模式standardsingleTopsingleTasksingleInstancestandardstandard是活动默认的启动模式,主要特点是单栈,与其他几种启动模式不同的是不管栈内或栈顶是不是与要新建的活动相同都会创建,所以就会产生连按了好几次返回结果都是同一个活动的情况。singleTopsingleTop想解决的问题就是对于standard中明明栈顶已经是活动A了,...
2019-01-18 17:59:11
178
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人