4 HawardScut

尚未进行身份认证

暂无相关简介

等级
TA的排名 1w+

线程池的简单实现

线程池介绍(1)在没有采取线程池技术的时候,往往是一个任务一个线程的方式,这样将会创建数以万计的线程,使得操作系统频繁的进行线程上下文切换,增加系统的负载(线程的创建和消亡都是需要消耗系统资源的)(2)线程池技术为了解决这个问题而产生,预先创造了若干数量的线程(Worker线程),并且将线程的创建控制交给ThreadPool类,而不是客户端(客户端将任务job放入工作队列jobs后便返回)...

2019-10-14 13:02:07

并发编程基础

1、线程简介(1)线程是操作系统调度的最小单元;(2)在一个进程里可以创建多个线程,这些线程都有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量;(3)一个程序作为一个进程来运行,程序运行过程中可以创建多个线程;(4)一个线程在一个时刻只能运行在一个处理器上,多线程程序可以充分利用多处理器执行任务;(5)线程优先级:线程优先级决定线程需要多或者少分配处理器资源的线程属性;(...

2019-10-13 21:48:11

(三)设计模式——观察者模式

角色:抽象目标、具体目标、抽象观察者、具体观察者AB思想:观察者向被观察对象即目标注册实例,然后其更新的行为随被观察者的转态改变而改变========================抽象的被观察对象==================================//抽象的被观察对象importjava.util.ArrayList;publicabstractclass...

2019-09-11 22:12:55

(三)java虚拟机——垃圾回收算法

常用的垃圾回收方法有:引用计数法、标记清除法、复制算法引用计数法思想:引用一个对象,则引用计数器+1;引用失效,则引用-1;回收计数为0的对象缺点:(1)没法处理相互引用的对象(实际上这些对象需要被回收却没法回收,但是他们相互引用,计数不为0)(2)频繁的+1,-1对系统性能有影响标记清除法思想:标记阶段:标记从根节点开始的所有可达对象;清除阶段:清除所有未被标记的对象缺点:产生空间...

2019-09-10 18:47:13

(二)java虚拟机——常用java虚拟机参数

读懂GC日志(1)代码:publicclassMain{publicstaticvoidmain(String[]args){TestClasstestClass=newTestClass();testClass.localvar1();testClass.localvar2();}}classTestClass{...

2019-09-10 16:45:18

(一)java虚拟机——初步认识

java虚拟机的基本结构java虚拟机的参数设置java[虚拟机参数]class[main()函数参数]实例:publicclassSimpleArgs{publicstaticvoidmain(String[]args){for(inti=0;i<args.length;i++){System.out.println("ar...

2019-09-09 21:52:49

LaTeX公式转MathType公式

LaTex在线编辑器https://www.codecogs.com/latex/eqneditor.phpLaTeX公式转MathType公式步骤:方式一:打开链接,复制编写的LaTex公式,加入$$中,右键选择如图,复制代码到word的MathType公式编辑器里面即可。https://www.zybuluo.com/mdeditor方式二:类似地,打开链接http://eng...

2019-09-07 22:57:00

(二)设计模式——简单工厂、工厂方法

一、简单工厂模式注意:简单工厂实际上不算设计模式中的一种角色:抽象产品角色、具体产品角色AB等、唯一的一个工厂(通过传递一个参数给工厂,返回具体的产品)缺点:只有一个工厂,其职责过重实例:电视================================1、抽象产品=================================//抽象产品(可以是抽象类或者接口)pu...

2019-09-07 13:01:37

(一)设计模式——单例模式

简单介绍单例模式为避免资源开销等而设计,具体做法是对构造器公开访问改为类内部访问,即private的访问属性,同时提供一个静态方法让外部请求得到该类的实例对象。经典的单例模式实现(需要的时候在创建该实例)publicclassSingleton{privatestaticSingletoninstance;privateSingleton(){}...

2019-09-06 23:57:00

gitlab搭建与使用

1.gitlab搭建下载包文件wgethttps://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/xenial/main/g/gitlab-ce/gitlab-ce_10.7.2-ce.0_amd64.deb安装dpkg-igitlab-ce_10.7.2-ce.0_amd64.deb配置访问地址(sudo打开/etc/gi...

2019-09-03 12:47:57

TensorFlow2.0部署

1.安装tensorflow2.0这里的环境都是基于Linux上进行先升级pippython3-mpipinstall--upgradepip接着python3-mpipinstalltensorflow==2.0.0-beta1官方安装文档假如网速太慢,可以离线下载whl安装包https://pypi.tuna.tsinghua.edu.cn/simple/te...

2019-08-12 01:09:57

linux上构建交叉编译环境

1.下载NDKhttps://developer.android.google.cn/ndk/downloads/2.解压NDK,并且配置环境变量exportPATH=/xxx/android-ndk-r20:$PATH3.编译特定平台的工具链(这里是x86)(1)在NDK的build/tools目录有make-standalone-toolchain.sh的程序让用户创建标...

2019-08-06 00:30:46

pytorch的部署——把pytorch模型集成到so库

前沿需要pytorch1.0版本及以上,linux环境下进行,借助cmake编译1.编写保存pytorch模型代码//main.pyimporttorchclassMyModule(torch.jit.ScriptModule):def__init__(self,N,M):super(MyModule,self).__init__()...

2019-08-04 19:21:52

conda和pip的基本使用

1.conda查看环境condainfo-e2.指定安装包到某个环境conda:激活环境,condainstallxxxpip:python-mpipinstallxxx

2019-08-04 10:52:49

CMake 简单使用

1.介绍CMake可实现跨平台编译,是一种优秀的编译配置工具。2.Linux下的cmake编写demo(1)建立工程目录cmakeDemo(2)编写c/c++代码main.c//main.c#include<stdio.h>intmain(){printf("hellocmake!\n");return0;}(3)编写CMakeList...

2019-08-03 21:43:22

java8的stream用于排序

importjava.util.ArrayList;importjava.util.Comparator;importjava.util.List;importjava.util.function.Function;importjava.util.stream.Collectors;publicclassPerson{privateintid;privatein...

2019-08-03 17:51:39

AS上进行NDK开发

1.基本环境CMake、NDK、SupportRepository、LLDB(如图,安装后配置…\Sdk\ndk-bundle环境变量)2.生成jni头文件javah包名.类名其中类中定义了jni接口packagecom.example.mi.demoso;publicclassJNITest{//通过该接口调用c/c++代码publicna...

2019-07-28 23:47:18

Windows10远程桌面Ubuntu

更新软件列表sudoapt-getupdate安装xrdpsudoapt-getinstallxrdp安装vnc4serversudoapt-getinstallvnc4server安装xubuntu-desktopsudoapt-getinstallxubuntu-desktop向xsession中写入xfce4-session(每个用户自己运行此行...

2019-04-26 14:47:58

隐马尔可夫模型(HMM)

介绍隐马尔可夫模型由:初始状态概率向量π\piπ、转态转移概率矩阵A和观测概率矩阵B决定。隐马尔可夫模型表示如下:λ=(A,B,π)\lambda=(A,B,\pi)λ=(A,B,π)其中,A,B,πA,B,\piA,B,π称为隐马尔可夫模型的三要素,隐马尔可夫模型,如下图所示:Q是所有可能的状态集合,V是所有可能观测的集合。举例如下:假设有3个盒子,每个盒子里面的球一共有10...

2019-03-23 00:39:19

java连续读取控制台的输入

importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);while(sc.hasNext()){Strings=s...

2019-03-08 19:22:30

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。