- 博客(29)
- 资源 (15)
- 收藏
- 关注
原创 Python类with后enter和exit
class MyClass: def out(self): print("out") def __init__(self): print("init") def __enter__(self): print("enter") return self def __exit__(self, exc_...
2019-07-31 23:06:58 699
原创 Java线程同步队列SynchronousQueue
Java线程同步队列SynchronousQueueSynchronousQueue是一个没有数据缓冲的阻塞队列。生产者线程插入数据(put)必须等待消费者的移除数据(take),反之亦然。SynchronousQueue内部没有维护数据队列,故,开发者不能使用peek方法取数据。也不能像往常那样遍历队列。SynchronousQueue特别适用于数据传递和交换的场景。比如对于经典生产者-...
2019-07-30 23:03:52 1625
原创 Android Studio Check for Updates检测发现不到新版本
Android Studio Check for Updates检测发现不到新版本问题解决File - Settings - Appearance & Behavior - System Settings - Updates右侧面板的:View/edit ignored updates点击打开,把里面的内容全部删除,然后OK。就可以检测到新版Android Studio。...
2019-07-29 23:36:13 1358
原创 git reset撤销当前分支所有修改,恢复到最近一次修改前干净的分支情况
git reset撤销当前分支所有修改,恢复到最近一次修改前干净的分支情况,首先:git reset --hard接着:git clean -fd
2019-07-28 23:33:40 5932
原创 Python类对象格式化
_formats = { 'ymd': '{d.year}-{d.month}-{d.day}', 'mdy': '{d.month}/{d.day}/{d.year}', 'dmy': '{d.day}/{d.month}/{d.year}'}class MyDate: def __init__(self, year, month, day): ...
2019-07-27 23:49:46 923
原创 Android JobScheduler 、JobScheduler
package zhangphil.job;import android.app.job.JobParameters;import android.app.job.JobService;import android.content.Intent;import android.widget.Toast;public class MyService extends JobService...
2019-07-26 23:54:05 541
原创 Python访问闭包内部数据元素
def sample(): n = 2018 def func(): print('n=', n) def get_n(): return n def set_n(value): nonlocal n n = value # 暴露给外面访问内部元素。 func.get_n = ...
2019-07-25 23:11:24 544
原创 Java设计模式:访问者模式,同一数据对象,不同访问者索取目的不同
/** * 员工接受不同部门的数据访问。 * 但是不同部门访问该名员工获取的数据不相同。 * * @author zhangfly * * @param <T> */public abstract class Employee<T> { public abstract void accept(Department department); pu...
2019-07-24 23:25:49 1057
原创 Android获取设备CPU最小频率的两种方案
方案1: long result = 0L; try { String line; BufferedReader br = new BufferedReader(new FileReader("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq")); ...
2019-07-23 23:42:35 679
原创 Python附带更多数据的回调函数
import timedef add(x, y): time.sleep(3) return x+ydef apply_async(func, args, *, callback): result = func(*args) callback(result)class ResultHandler: def __init__(self):...
2019-07-22 23:04:52 334
原创 Java设计模式:迭代器模式
public interface AbstractIterator<E> { public boolean hasNext(); public E next();}import java.util.ArrayList;import java.util.List;public abstract class AbstractObjectList<E>...
2019-07-21 23:06:04 607
原创 Android UID
public int getUid(String packageName) { int uid = -1; try { PackageManager pm = mContext.getPackageManager(); ApplicationInfo ai = pm.getApplicationInfo(pa...
2019-07-20 23:25:23 452
原创 Python回调函数
import timedef add(x, y): time.sleep(3) return x+ydef print_result(result): print(result)def apply_async(func, args, *, callback): result = func(*args) callback(result)p...
2019-07-20 00:33:51 1236
原创 Java线程同步synchronized wait notifyAll
public class Main { public static void main(String[] args) { Main main = new Main(); main.test(); } private void test() { new Thread(new Runnable() { ...
2019-07-18 23:46:29 454
原创 Java线程同步与阻塞ReentrantLock - Condition替换wait - notify
import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;public class Main { private ReentrantLock lock = new ReentrantLock(false); private Condition con...
2019-07-17 23:17:34 630
原创 Android memery data sample
public class MemoryManager extends Manager { private ActivityManager mActivityManager; public MemoryManager(Config config) { super(config); //获得ActivityManager服务的对象。 ...
2019-07-15 23:07:37 345
原创 Python可变长函参
import numpy as np# *号接收可变长参数。def sum(a, b=1, *values): value = a*b+np.sum(list(values)) return valuevalue = sum(1, 2, 3, 4)print(value)value = sum(1, 2, 3, 4, 5)print(value)输出:...
2019-07-14 23:06:06 211 1
原创 Java设计模式:一种流行的句点“建造”模式
public class Config { private String tag; private String id; private String link; public Config(Builder builder) { tag = builder.tag; id = builder.id; link = builder.link; } public Stri...
2019-07-13 23:18:22 307
原创 Android设备网络数据流量统计
统计自设备启动以来的流量。 JSONObject jsonObject = new JSONObject(); //获取通过Mobile连接收到的字节总数,但不包含WiFi。 long mobileRxBytes = TrafficStats.getMobileRxBytes(); jsonObject.put("mobileR...
2019-07-12 23:30:05 4405
原创 Netty客户端发送数据给服务器的两个通道
package zhangphil.nettysender;import java.io.DataInputStream;import java.net.ServerSocket;import java.net.Socket;import java.sql.Date;import java.text.SimpleDateFormat;import io.netty.bootstr...
2019-07-11 23:36:02 6859 1
原创 Python TemporaryFile临时文件
from tempfile import TemporaryFilef = TemporaryFile('w+t', encoding='utf-8')f.write('Zhang Phil')f.seek(0)data = f.read()print(data)f.close()输出:Zhang Phil
2019-07-10 23:04:46 2062
原创 Android MainActivity与IntentService所属Thread和Process
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="zhangphil.service"> <application android:allowBack...
2019-07-09 23:09:16 315
原创 Java设计模式:半透明装饰模式
通常的装饰模式是透明装饰模式。本文写一个半透明装饰模式。/** * 一个通用的抽象批条模型。 * * @author zhangfly * */public interface Document { void display();}/** * 请假条。 * 后续需要为其增加审批功能。 * * @author zhangfly * */public c...
2019-07-07 23:29:43 1374
原创 Python内存映射文件读写
import osimport timeimport mmapfilename = 'test.txt'#如果不存在,创建。if not os.path.exists(filename): open(filename, 'w')print(os.path.isdir(filename))if os.path.isfile(filename): print(ti...
2019-07-07 00:30:00 2451
原创 分布式MQTT消息订阅-发布框架:高可用性ActiveMQ
分布式MQTT消息订阅-发布框架:高可用性ActiveMQActiveMQ是MQTT的一种实现。ActiveMQ基于JMS。ActiveMQ开发包下载地址:http://activemq.apache.org/download.htmlActiveMQ最适合做消息推送。国内很多厂商基于ActiveMQ改造出多种消息推送平台。下载完成ActiveMQ压缩包后解压,解压后直接在Java环境中运...
2019-07-05 23:20:27 4711 1
原创 Java RPC框架实现之Java RMI
Java RPC(Remote Procedure Call)框架实现之Java RMI(Remote Method Invocation)Java RMI是RPC标准实现的框架之一。和经典Socket编码模型类似,Java RMI首先在“服务器端”绑定一个域名地址,然后等待“客户端”查找服务器端的服务,然后调用服务器端对外暴露的接口。服务器端和客户端分别针对同一份相同的接口分别各自编程实现和...
2019-07-04 23:09:58 657
原创 Android系统自带的层次状态机StateMachine(Hierarchical State Machine)
Android系统自带的层次状态机StateMachine(Hierarchical State Machine)Android在framework层自己实现一套层次状态机,总共有三个类:StateMachine,State和IState,这三个类直接从Android平台代码中没有公开出来提供给开发者使用,但是可以直接把源代码复制出来使用,见附录源代码。下一个Android平台自带的层次状...
2019-07-03 23:31:43 2524
原创 Java阻塞式线程同步队列BlockingQueue,SynchronousQueue和TransferQueue
Java阻塞式线程同步队列BlockingQueue,SynchronousQueue和TransferQueueBlockingQueue在队列读或取数据时候加锁。生产者向队列添加元素但队列已满时,生产者会被阻塞,反过来,当消费者从队列取出元素但队列为空时,消费者会被阻塞。BlockingQueue(和Queue)是Java 1.5加入的接口类,它是这样一种队列:当生产者向队列添加元素但队...
2019-07-02 23:17:01 1094
原创 Java设计模式:备忘录模式,历史记录状态回滚回退
以棋类游戏中的“悔棋”为例。public class Chessman { private String tag; private int point; public void set(String tag, int point) { this.tag = tag; this.point = point; } // 保存状态。 public ChessmanMemo...
2019-07-01 23:49:04 1197
链家2020年9月二手房数据
2020-12-10
strava_com_sample_utf8.xls
2020-12-10
digital-7字体(LED数字样式字体)
2017-09-05
MaterialDesignLibrary_Code and Lib合集
2015-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人