自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 资源 (6)
  • 问答 (2)
  • 收藏
  • 关注

原创 (五)新类库的构件

CountDownLatchpublic class CountDownLatchextends ObjectA synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes.A Co

2016-10-25 10:54:38 317

原创 Servlet

Servlet最常用的对象:请求对象:ServletRequest和HttpServletRequest,通过该对象获取来自客户端的请求信息响应对象:ServletResponse和HttpServletResponse,通过该对象生成响应结果Servlet配置对象:ServletConfig,当容器初始化一个Servlet对象时,会向Servlet提供一个ServletConfig对

2016-10-25 10:54:34 261

原创 web.xml

在Tomcat/conf下有一个web.xml文件,当Tomcat中所有web应用实例化时都会读取该配置文件,然后读取每个web应用自己的配置文件(/WEB-INF/web.xml)。conf/web.xml作出以下配置://处理未映射到其他servlet的请求 default class>org.apache.catalina.serv

2016-10-25 10:54:31 242

原创 Tomcat简介

Tomcat的核心组件是servlet容器。Tomcat各个组件之间的嵌套关系web.xml配置如下: connectionTimeout="20000" redirectPort="8443" /> :代表整个servlet

2016-10-25 10:54:29 227

原创 第3章 IP:网际协议

引言IP提供不可靠、无连接的数据报传送服务。IP首部IP首部长度为20个字节。共5段,每段4个字节(32位)。如下所示:协议版本:目前是4首部长度:指首部占32bits(4字节)的数目,上图为一般IP数据报,首部20个字节,故首部长度为5。服务类型:包括3bit的优先子字段(已被忽略),4bit的TOS子字段,1bit未被用但置零的字段。TOS子字段的4位分别表示:最小

2016-10-25 10:54:26 192

原创 (四)线程之间的协作

前面提到,当我们用多线程同时运行多个任务时,可以通过锁(互斥)来同步两个任务的行为,从而使得一个任务不会干涉另一个任务的资源。这一章要解决的问题不是彼此间的干涉,而是彼此间的协作。协作时,关键问题是握手。为了实现握手,我们同样使用互斥,因为互斥能够确保只有一个任务可以相应某个信号,这样就可以根除竞争条件。在互斥之上,我们为任务添加一种途径,可以将自身挂起,直到某些外部条件的变化。这种握手可

2016-10-25 10:54:23 215

原创 sleep(),yield()

sleep 方法使当前运行中的线程睡眼一段时间,进入不可运行状态,这段时间的长短是由程序设定的,不会释放锁标志。yield 方法使当前线程让出CPU占有权,但让出的时间是不可设定的。yield()也不会释放锁标志。yield()方法对应了如下操作: 先检测当前是否有相同优先级的线程处于同可运行状态,如有,则把 CPU 的占有权交给此线程,否则继续运行原来的线程。所以yield()方法称为"

2016-10-25 10:54:20 245

原创 (三)终结任务

花园入口计数花园有多个入口,希望统计花园每天的总人数。public class OrnamentalGarden { public static void main(String[] args) throws InterruptedException { ExecutorService exec = Executors.newCachedThreadPool

2016-10-25 10:54:16 230

原创 (二)共享受限资源

本章主要讲如何解决访问共享资源时的竞争问题。其中关于synchronized关键子,显式lock锁等详细内容看我写的这篇文章。下面主要讲原子类、临界区和线程本地存储:原子类J2SE 5.0提供了一组atomic class来帮助我们简化同步处理。基本工作原理是使用了同步synchronized的方法实现了对一个long, integer, 对象的增、减、赋值(更新)操作. 比如对于

2016-10-25 10:54:13 259

原创 (一)基本的线程机制

定义任务描述一个任务,使用Runnable接口,实现其run方法即可。以下为一个倒计时的任务,打印倒计时以及任务的ID。public class LiftOff implements Runnable{ protected int countDown =10; private static int taskCount =0; private final i

2016-10-25 10:54:10 238

原创 (十八)多线程

多线程多线程与多进程的区别在于每个进程拥有自己的一整套变量,线程则共享数据。与进程相比,线程更加“轻量级”,创建和撤销一个线程比启动新进程开销要小得多。 实现多线程有两种方法:实现Runnable接口继承Thread类以下采用两种方法分别实现多线程实现Runnable接口public class Football implements Runnable{

2016-10-25 10:54:05 209

原创 (十七)泛型程序设计

为什么使用泛型程序设计泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用。定义简单的泛型类一个泛型类就是具有 “一个或多个类型变量” 的类。以下定义一个泛型类:public class Pair { private T first; private T second; public Pair(){ first=null

2016-10-25 10:54:01 234

原创 第十一章 进程和信号

系统进程查看进程ps -ax指令查看当前进程和进程状态。wuchao@:~/linux_program/CH07$ ps ax PID TTY STAT TIME COMMAND 1 ? Ss 0:01 /sbin/init splash 2 ? S 0:00 [kthreadd] 3

2016-10-25 10:53:58 248

原创 第七章 数据管理

内存管理分配内存#include#includechar *memptr = (char *) malloc(1024);//分配1K的内存释放内存#include#includechar *memptr = (char *) malloc(1024);//分配1K的内存free(memptr);//释放内存Linux支持虚拟内存,内

2016-10-25 10:53:56 213

原创 特殊符号大全

❤❥웃유♋☮✌☏☢☠✔☑♚▲♪✈✞÷↑↓◆◇⊙■□△▽¿─│♥❣♂♀☿Ⓐ✍✉☣☤✘☒♛▼♫⌘☪≈←→◈◎☉★☆⊿※¡━┃♡ღツ☼☁❅♒✎©®™Σ✪✯☭➳卐√↖↗●◐Θ◤◥︻〖〗┄┆℃℉°✿ϟ☃☂✄¢€£∞✫★½✡×↙↘○◑⊕◣◢︼【】┅┇☽☾✚〓▂▃▄▅▆▇█▉▊▋▌▍▎▏↔↕☽☾の•▸◂▴▾┈┊①②③④⑤⑥⑦⑧⑨⑩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ㍿▓♨♛❖♓☪✙┉┋☹☺☻تヅツッシÜϡﭢ™℠℗©®♥❤❥❣❦

2016-10-25 10:53:53 16873

原创 第四章 Linux环境

程序参数int main(int argc , char *argv[])argc是程序参数的个数,argv是代表参数的字符串数组。以下对参数检查://args.c#include#includeint main(int argc,char *argv[]){ int arg; for(arg=0;arg){ if(argv[a

2016-10-25 10:53:51 169

原创 (十六)异常

异常分类                  Throwable                    ┃                                 ┏━━━━━━━━┓                        Error                       Exception                    ┃           

2016-10-25 10:53:48 179

原创 (十五)代理

动态代理Java中动态代理机制的引入使得代理模式的思想更加完善与进步,它允许动态的创建代理并支持对动态的对所代理的方法进行调用。Java动态代理类位于Java.lang.reflect包下,一般主要涉及到以下两个类: Interface InvocationHandler该接口中仅定义了一个方法Object:invoke(Object obj,Method method, Object

2016-10-25 10:53:43 148

原创 (十四)内部类

特点内部类可以访问外部类的所有作用域。内部类可以对同一个包的其他类隐藏起来。链接到外部类当外部类的对象创建一个内部类对象时,此内部类对象必定会捕捉一个指向外部类对象的引用。内部类的对象只能在与外部类的对象相关联的情况下才能被创建(内部类是非static时),即必须存在外部类的对象。在外部类的非静态方法以外的地方,需要用Outer.Inner类指明对象类型。在外部类的非静

2016-10-25 10:53:40 196

原创 第三章 文件操作

底层文件访问文件描述符:0:标准输入1:标准输出2:标准错误write系统调用把缓冲区buf的前nbytes个字节写入与文件描述符fildes关联的文件中。返回实际写入的字节数。返回0表示未写入,返回-1表示错误。#include size_t write(int fildes,const void *buf,size_t nbytes)#inclu

2016-10-25 10:53:36 244

原创 (十三)对象克隆

Object类实现了clone()方法(protected)。用户自己编写的类若想调用该方法,必须实现Cloneable接口,以此表明Object.clone()是合法的。如果对象中的域是引用数据类型,克隆的新对象的对应域和原来的域共同引用同一个对象。注:Cloneable是一个标记接口,其没有可实现的方法。如果不实现该接口,调用super.clone()会报CloneNotSupport

2016-10-25 10:53:33 143

原创 (十二)接口 (以及与抽象类的区别)

接口主要用来描述类具有什么功能,而不给出具体实现。一个类可以实现多个接口。实现接口的类必须实现接口的所有方法。接口可以定义任意类型的常量,但不能定义变量(实例域)。实现接口的类中可以访问接口定义的常量,但不能更改这些常量(static)。接口不能实现方法。 接口和抽象类的区别1、相同点A. 两者都不能实例化。B. interface实现类及abstrct cla

2016-10-25 10:53:31 166

原创 (十)反射

能够分析类能力的程序称为反射。Class类程序运行中,系统为每个对象维护一个运行时的类标识,该信息可以追踪对象所属的类。可以通过专门的java类访问这些信息,保存这些信息的类称为Class类。获取类型标识:Employee e;Class c1 = e.getClass();获取类名对应的Class对象String className = "java.util.Date

2016-10-25 10:53:26 155

原创 (十一)instanceof 和 getclass 的区别

判断两个对象是否为同一类型,时常用到getclass 和 instanceof ,而这两个函数又是时常让人混淆。下面从一个例子说明两者的区别:public class Test_drive { public static void main(String[] args){ A a = new A(); B b = new B()

2016-10-25 10:53:23 237

原创 (九)对象包装器与自动装箱

有时候需要将基本数据类型转换为对象,如int -> Integer。Integer这样的类称为对象包装器类,该类一旦构造对象,便是不可变的。装箱list.add(3)自动变为list.add(Integer.valueOf(3))拆箱int n = list.get(i)自动变为int n = list.get(i).intValue() 注意:Intege

2016-10-25 10:53:21 168

原创 (八)泛型

泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 泛型类容器类应该算得上最具重用性的类库之一。先来看一个没有泛型的情况下的容器类如何定义:public class Container { private String key; private String

2016-10-25 10:53:18 133

原创 (七)类、超类和子类 ——(多态,动态绑定,final类,类型转换,抽象类)

java中所有的继承都是公有继承。在子类中的构造其内可以初始化超类的公有域,但不能初始化超类的私有域。因此需要在子类构造前的第一行使用super()语句初始化超类的私有域。如果超类没有不带参数的构造器,而子类没有显式的调用超类的其他构造器,则会出现编译错误。因为编译器无法调用超类的默认构造器。 多态A为超类,B为子类。则A的变量既可以引用A类的对象,也可以引用B类的对象。

2016-10-25 10:53:16 692

原创 (六)静态域,静态方法和静态代码块

静态域如果将类中的一个域定义为静态static,则所有对象共享这一个域。每个对象对该域的改变,也会影响其他对象对这个域的读取。若想对静态域进行初始化,可以使用静态代码快:class T{ static private int classId; static{ Random g = new Random(); classId

2016-10-25 10:53:11 302

原创 (五)final修饰符

final修饰变量final修饰符一般用于基本数据类型(int,float)或者不可变对象(String)。这时候可以看作常量变量。但是当final作用于可变数据类型时(数组,一般对象),仅仅表示存储在该变量中的对象的引用不被改变,但该对象的属性依然可以改变。 下面是final作用于可变数据类型时的例子public class main01 { pub

2016-10-25 10:53:08 192

原创 (四)函数的参数传递——值传递

java中函数的参数传递方式为值传递。如果参数是基本数据类型,则方法无法改变参数的值。如果参数是引用类型,则可以改变引用对象的状态。但不能引向一个新的对象。举例:public class main01 { public static void main(String[] args) { T t1 = new T(1); T t2

2016-10-25 10:53:06 200

原创 (三)java字符串

不可变字符串Java没有字符串类型,而是提供了一个预定义类String。java中的字符串是不可变字符串,因此无法更改某一个字符串变量的内容。优点:编译器可以让字符串共享。当复制一个字符串时,原始字符串和复制的字符串共享相同的字符。缺点:修改字符串时,需要通过修改字符串变量,让该变量引用另外一个字符串。这会降低运行效率。总结:程序中很少需要修改字符串,往往是对字符串进行比较。因

2016-10-25 10:53:01 143

原创 第二章 shell的语法

变量:字符串、数字、环境和参数获取变量内容可以在变量前使用$字符,使用echo指令可以将变量内容输出到终端。wuchao@wuchao-Lenovo:~$ var=hellowuchao@wuchao-Lenovo:~$ echo $varhellowuchao@wuchao-Lenovo:~$ var=2+3wuchao@wuchao-Lenovo:~$ echo $

2016-10-25 10:52:57 217

原创 第一章 入门

开发系统导引应用程序/usr/bin:系统为正常使用提供的程序/usr/local/bin,/opt:系统管理员存放的应用程序头文件C语言的头文件几乎都放在/usr/include依赖特定Linux版本的头文件放在/usr/include/sys和/usr/include/linux库文件标准库文件存在/lib和/usr/lib库文件的名字以lib开头,随后的部

2016-10-25 10:52:54 183

原创 博客园公式编辑相关

" alt="" />

2016-10-25 10:52:49 430

原创 caffe绘制训练过程的loss和accuracy曲线

转载自http://blog.csdn.net/u013078356/article/details/51154847 在caffe的训练过程中,大家难免想图形化自己的训练数据,以便更好的展示结果。如果自己写代码记录训练过程的数据,那就太麻烦了,caffe中其实已经自带了这样的小工具 caffe-master/tools/extra/parse_log.sh  caffe-master/t

2016-10-25 10:52:44 142

原创 第32题 最长匹配括号

题目:找出字符串中最长匹配括号的长度,如“)()())()()(”,结果为4 思路:)  (  ) (  )  ) (  ) (  )  (0 1 2 3 4 5 6 7 8 9 10用一个栈去存储索引,当当前字符为“)”或栈为空时,存储该字符,当栈顶的索引对应的字符为“(”,并且当前字符为“)”时,弹出栈顶字符,并用当前字符索引减去当前栈顶的值,即当前找到的最大长度。

2016-10-25 10:52:40 122

原创 http://deepdish.io/2015/04/28/creating-lmdb-in-python/

http://deepdish.io/2015/04/28/creating-lmdb-in-python/

2016-10-25 10:52:35 426

原创 caffe神经网络模型的绘图

Python/draw_net.py, 这个文件,就是用来绘制网络模型的。也就是将网络模型由prototxt变成一张图片。1、安装GraphViz# sudo apt-get install GraphViz也可以去官网下载,手动安装 2 、安装pydot sudo apt-get install sudo apt-get install 或者下边的方法编译

2016-10-25 10:52:30 238

原创 数据制作

1.数据准备,我们需要一个train和valid文件夹,一个train.txt和val.txt(图片文件夹的位置可以任意,但是这两个txt文件的位置在data/fingervein/目录下)train和valid文件夹自然就存放着待训练的图片,train.txt和val.txt的数据格式如下 FV_USM_beforeLMDB/train_example/1/1.jpg 0 F

2016-10-25 10:52:26 486

原创 mnist测试

第一步:进入caffe目录第二步:获取mnist数据集./data/mnist/get_mnist.sh第三步:创建lmdb./examples/mnist/create_mnist.sh第四步:训练./examples/mnist/train_lenet.sh  运行完结果如下:生成四个文件lenet_iter_10000.caffemodel    

2016-10-25 10:52:23 197

C++ primer 第四版 中文版 电子高清版 不是扫描的

c++ primer第四版中文版,是电子版,不是扫描的图片,可以打印出来。

2017-12-25

无线解码24L01

无线解码资源

2013-03-11

斯特林发动机原理图

斯特林发动机原理图斯特林发动机原理图斯特林发动机原理图

2012-09-09

ewb软件说明.doc

ewb软件说明.doc

2012-07-01

PWM示例程序

89c51单片机有关PWM技术应用的示例程序

2012-04-23

stc程序代码

90c516相关程序代码,红红火火能查出来的vv v额外

2011-12-31

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除