- 博客(10)
- 资源 (20)
- 收藏
- 关注
原创 【Java基础】-- 线程同步举例:生产者消费者(通过Object类提供的wait()、notify()、notifyAll()实现)
一 线程同步和互斥1 互斥:是指某一个资源某个时刻只允许一个访问者对其进行访问,具有唯一性和排他性。2 同步:在互斥的基础上,通过其他机制实现访问者对资源的有序访问,通过一定的逻辑关系来共同完成一个任务。3 同步和互斥的联系:同步其实已经实现了互斥,所以同步是一种更为复杂的互斥。4 同步和互斥的区别:(1)互斥是不同线程通过竞争进入临界区(共享的数据和硬件资源),为了防止冲突,在同一时刻只允许一个线程使用共享资源,如不能同时写。(2)同步时多个线程彼此合作,通过一定的逻辑关系来共同完
2021-04-21 13:24:39
201
原创 【设计模式】-- 单例模式(Singleton Pattern)
一 单例模式相关概念1 定义:确保一个类只有一个实例,并且自行实例化向整个系统提供这个实例。2 特点:(1)只能有一个实例(2)必须自己创建自己的唯一实例(3)必须给所有其他对象提供这一实例。3 使用场景:(1)确保某个类只能有且一个对象的场景(2)避免产生多个对象消耗过多的资源。4 UML类图:转存失败重新上传取消正在上传…重新上传取消正在上传…重新上传取消转存失败重新上传取消正在上传…重新上传取消正在上传…重新上传取消正在上传…重新上传取消Singleton:单例类。 C.
2021-04-20 20:48:47
171
原创 【Java基础】-- 内存泄漏和内存溢出
一 内存泄漏(Memory Leak)1 概念 内存泄漏通俗来说就是该释放的对象没有释放,一直被某个或某些实例所持有导致不能正常GC回收。这部分实例占据的内存资源不能释放再次使用,这就叫做内存泄漏。2 Android开发中常见内存泄漏的场景(1)单例模式 单例的静态特性使其生命周期和应用的生命周期一样长,如果单例对象持有不再需要使用的对象,就会造成内存泄漏。(2)非静态内部类创建静态实例 非静态内部类会默认持有外部类的引用,如果该非静态内部类创建了一个静态的实例,如果该静态实例的生命周期和应
2021-04-20 17:12:44
241
原创 【设计模式】-- 代理模式(Proxy Pattern)
一 代理模式(Proxy Pattern)1 介绍:代理模式也叫委托模式,是一种结构性设计模式。2 定义:为其他对象提供一种代理以控制对这个对象的访问。3 使用场景:(1)不想直接访问某个对象(2)无法或访问某个对象困难时,可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,委托对象和代理对象需要实现相同的接口。4 类图:(1)Subject:抽象主题类。抽象主题类的主要职责时声明真实主题和代理的共同接口方法,该类既可以是一个抽象类也可以是一个接口。(2)RealSu
2021-04-20 10:50:51
154
转载 【LeetCode】-- 摩尔投票法
1 背景本文介绍两个使用摩尔投票法解题的例子,分别是LeetCode169. 多数元素和229. 求众数 II。2 题目描述及题解代码题目一:169. 多数元素。给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。class Solution { public int majorityElement(int[] nums) { int ans ...
2021-04-19 11:21:48
215
原创 【解决方案】-- 解决笔记本电脑外接键盘Window键失效的问题
1 问题背景作者最近新买了一个机械键盘,外接到笔记本电脑上发现Windows键失效,执行与WIndows相关的快捷方式Win+R、Win+E等都没有反应。2 解决方案(1)原因分析:因为很多机械键盘的用户很多是游戏玩家,所以很多键盘厂商会把Windows键给锁住,防止用户误触。(2)解决方案:按Fn + Windows键解锁。...
2020-09-24 22:47:23
20600
13
原创 【Android基础】-- Android活动的启动模式
Android活动的启动模式有4种:standard、singleTop、singleTask和singleInstance。活动启动模式模式是standard,如果要设置为其他模式可以在AndroidManifest.xml的<activity>标签中用andriod:launchMode进行设置,例如将MainActivity启动模式设置为singleTop,可以按照如下这样设...
2020-03-03 17:07:22
218
原创 【解决方案】-- 解决AMD电脑Android Studio模拟器无法安装Intel HAXM 的问题
1 问题描述我的电脑是magicbook pro R5的版本,今天在运行AS模拟器的时候遇到了无法安装Intel HAXM 的问题。输出日志如下:=== Logging started: 2020/3/2 星期一 22:20:14 ===This computer does not support Intel Virtualization Technology (VT-x) or...
2020-03-02 23:23:20
26242
28
原创 【Android基础】-- Android活动的生命周期
1 相关概念1.1 返回栈Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈叫做返回栈(Back Stack)。由于栈后进先出的特性,每当我们启动了一个新的活动,它就会在返回栈中入栈,并处于栈顶的位置;每当我们销毁一个活动,处于栈顶的活动会出栈,系统总是会显示处于栈顶的活动给用户。1.2 活动的四种状态活动在其生命周期中共有4种状...
2020-03-01 22:57:03
261
原创 京东自动下单脚本
0 声明此脚本只用于读者学习使用,禁止用于非法用途。1 源码(python实现)# JDAutoBuyimport osfrom selenium import webdriverimport datetimeimport timefrom os import path#将下面的路径替换为你电脑内chromedriver所在的路径driver = webdriv...
2019-12-10 22:26:44
58549
11
基于Android平台的课堂测试系统.zip
2019-06-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人