自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吴海威的专栏

每天都在进步,让技术和博客伴随我的大学。

  • 博客(48)
  • 资源 (2)
  • 收藏
  • 关注

原创 Redis作为缓存时与DB的数据一致性维护

如果以Redis为主,DB只是作为数据的一种备份或持久化方案,可以不用太过在意数据一致性问题,这时所有的应用服务器对数据的操作都在Redis中,数据Redis层数据是一致的,数据操作不会穿透到DB层。如果Redis作为缓存,就需要考虑数据一致性问题,这时是以DB为主,Redis等只是对数据的缓存,作为缓存必定有失效的时候,前面的应用层很有可能穿透到DB层,对于这种场景有两个要考虑一致性的地方:

2017-09-16 12:49:17 2979

原创 8种药水有且仅有一种有毒,药水1小时见效,现在要求在1小时内找出有毒药水,至少需要几只小白鼠?

现有8种药水,其中有且仅有一种有毒,药水24小时见效,现在要求在24小时内找出有毒药水,需要至少几只小白鼠?对于这个题,不同于二分法找有毒的情况,这个关键在于只能一次,这个是考察对二进制数据的理解,每只老鼠在8小时后都有一个状态,死亡或存活,对于题目,只有1个有毒,那么总共8情况。所以理论上3只老鼠就可以标识这8种状态了。具体就是如何分配这些老鼠的问题,这个问题可以通过数字逻辑中的3-8编

2017-09-15 11:23:50 5514

转载 程序员:挑战无处不在

面试过一些应聘者,当我问到为什么换工作的时候,他们都会告诉我,现在的工作没有挑战,无聊,所以想换一个有挑战的工作。我总是为有这样的认识的朋友感到惋惜,因为我总是认为有挑战的东西无处不在啊,不能因为工作上没有,自己就放纵了自己。比如,面试过一个做地图的工程师,他的工作是做计算地图上任意两点的最短或最优路径的一部分功能。我觉得这个事很有挑战,也有难度,应聘者说,没什么挑战,因为他做的东西只是调用相关的

2017-09-09 23:30:26 476

转载 如何通过反编译工具与插件 查看java *.class 文件源码

Java Decompiler【Java 反编译】:开发了反编译工具,可以方便查看*.class 文件源码。下面介绍几种查看源码的方式:工具&插件1、JD-GUIJD-GUI  是显示java 源代码 *.class文件的 图形界面工具。可以在这里下载:JD-GUI-DownLoad下载下来后,打开该工具,直接将jar包 拖拽到 显示窗口即可查看源代码。

2017-08-24 15:02:14 5904

原创 Python常用开源工具包

1、numpy2、matplotlib3、scipy3、pyOpencv4、scikit-learn6、wxPython、QTpy

2017-05-06 14:16:56 615

原创 过滤器Filter和监听器Listener

1、监听器(1)上下文监听(2)Session监听(3)Request监听2、过滤器(1)实现Filter(2)过滤器链

2017-05-06 14:11:22 272

原创 AJAX技术

1、什么是AJAXAJAX技术就是异步javascript and XML,这里有两个概念,异步的、非全新技术(javascript 、XML、CSS、DOM几种技术的整合)。它是一种通过javascript and XML在浏览器和服务器之间进行异步传输数据的技术。也就是说,浏览器端可以同时有很多请求,不用等前面请求/回复处理完再向服务器发第二个请求,这样就可以实现局部刷新。作为整个页面

2017-05-05 19:56:13 371

原创 JAVA对象序列化

1、什么是对象序列化2、案例在JAVA里,只要相应的类实现Serializable接口(java.io.Serializable)就可以进行序列化和反序列化。待序列化和反序列化的类Ser,import java.io.Serializable;public class Ser implements Serializable { private String name=

2017-05-04 13:17:29 228

原创 WEB技术的发展

在1993年以前都是静态页面,也是就HTML或者XHTML网页,在1993年,出现了最早的能够动态产生HTML页面的技术CGI(通用网关接口)。当年提出了CGI1.0标准草案,1994年Rasmus Lerdorf发明了专门用于Web服务器编程的PHP语言。与之前的CGI不同,PHP语言将HTML和PHP指令结合成为完整的服务器端动态页面,程序员可以更加简便、快捷的实现动态WEB页面。19

2017-05-04 11:00:53 906

原创 Java网络通信

在JAVA中,网络通信方式有很多,一些是在基本通信方式基础上针对特定应用做的封装,如RMI技术,这里仅仅讲解一般意义上的网络通信方式,即基于Socket和URL的网络通信。1、基于URL的通信这种方式包含2步,创建URL连接、从URL处获取资源。(1)、创建URL连接Java.net.URL类通过这个类的构造方法创建public URL (String spec);//通过一个

2017-05-03 13:56:03 404

原创 Java JPA技术

JPAJpa(java persistenceapi)JAVA持久化API定义了对象-关系映射(ORM)以及实体对象持久化的标准接口。        JPA是EJB3.0规范的一部分,但是并不局限与EJB,可以作为POJO持久化的标准规范,可以脱离容器独立运行,开发,测试。         JPA是一种规范,而Hibernate和iBATIS等是开源持久框架,是JPA的一种实现。

2017-05-02 11:25:05 3912

原创 JAVA JNI技术

JNI是Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。使用java与本地已编译的代码交互,通常会丧失平台

2017-05-02 11:09:09 291

原创 JSP中contentType中的charset与pageEncoding指定的编码的作用

JSP中contentType中的charset与pageEncoding指定的编码的作用 ,JSP代码如下:<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>Insert title here 在这里面跟编码类型有关的地方有3处:1、jsp的page指令中contentType属性contentType="tex

2017-05-01 17:35:54 1621

转载 深度学习教程:从感知器到深层网络

来自toptal  作者:IVAN VASILEV  机器之心编译出品  参与:Ben、郑劳蕾、Angulia、柒柒  本文作者Ivan Vasilev是一名具有创业精神的高级开发人员。他的经验范围跨越多个领域和技术,但他的主要焦点在Java、Java及机器学习上。  近些年来,人工智能重新兴起。它已超出学术领域范畴, Google、Microsoft和Fa

2017-04-23 21:49:51 1991

转载 Opencv Python版学习笔记(八)字符识别-分类器(SVM,KNearest,RTrees,Boost,MLP)

OpenCV提供了几种分类器,例程里通过字符识别来进行说明的1、支持向量机(SVM):给定训练样本,支持向量机建立一个超平面作为决策平面,使得正例和反例之间的隔离边缘被最大化。函数原型:训练原型 cv2.SVM.train(trainData, responses[, varIdx[, sampleIdx[, params]]])                   其中

2017-04-23 21:42:11 2631

转载 UML类图

在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition》(《UML精粹:标准对象建模语言简明指南(第3版)》)中有这么一段:“If someone were to come up to

2017-04-20 10:23:37 632

原创 机器学习-

机器学习

2017-02-20 16:46:56 310

原创 集合类型的并发

@NotThreadSafe  class BadListHelper  {      public List list = Collections.synchronizedList(new ArrayList());        public synchronized boolean putIfAbsent(E x) {          boolean

2017-02-20 16:44:15 236

转载 深入理解java异常处理机制

引子 try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是想象中的那么简单、听话。不信?那你看看下面的代码,“猜猜”它执行后的结果会是什么?不要往后看答案、也不许执行代码看真正答案哦。如果你的答案是正确,那么这篇文章你就不用浪费时间看啦。package Test; public

2017-02-16 21:28:03 248

原创 Java代码执行顺序

JAVA是一门面向对象的编程语言,这里考虑“类”在程序开始执行时的执行顺序。class Person{ static { System.out.println("执行Person静态代码块"); } { System.out.println("执行Person构造代码块"); } public Person(){

2017-02-15 23:58:22 8661 1

原创 JVM内存

在JAVA虚拟机JVM中,内存空间的粗略分配如下图所示: 我们可以这样理解: 1、JVM内存包含堆区(Heap)和非堆区( Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(Java虚拟机栈)、Local Method Statck(本地方法栈)), 2、堆区又包含老一代区(Old Memory)和幼年区(Yong Gen), 3、幼年

2017-02-15 22:00:30 230

转载 JVM -XX: 参数介绍

常用的参数: -Xmx :堆的最大值 -Xms :堆的最小值 -Xmn :堆年轻代大小 -XXSurvivorRatio:Eden区和Survior区的占用比例

2017-02-15 21:31:42 719

原创 Android 视图组件的自定义

一、自定义组件样式步骤1、在drawable下面创建一个xml样式文件,取名为xxx.xml,这里的“xxx”是创建的样式名。xxx.xml步骤2、在布局文件相应的组件中引用这个样式style="@style/xxx"例子:

2016-04-27 11:21:47 548

原创 Visual Studio对 C++11标准支持情况

在很多库和框架的学习过程中,编译项目总是会出现很多编译不过的现象,原因不是加入的代码,也不是库和框架本身的原因(虽然有些确实有bug),从编译过程打印出来的信息来看,很多都是库或框架本身用了一些C++的新特性引起的,这些新特性编译器并不一定支持,在建立项目之前应该看一下实用的这些开源项目是否被自己的编译器支持,这样避免做一些无用功。这里仅给出VS系列的支持情况,便于查看。 参看网址:https:/

2016-04-27 10:07:32 10954

转载 如何成为一个C++高级程序员

C++这门语言从诞生到今天已经经历了将近30个年头。不可否认,它的学习难度都比其它语言较高。而它的学习难度,主要来自于它的复杂性。现在 C++ 的使用范围比以前已经少了很多,Java、C#、Python 等语言在很多方面已经可以代替C++。但是也有很多地方是其他语言完全无法替代的,主要集中在需要运行效率比较高的行业,比如游戏、高效的服务器。   现在学习 java、C#等语言的人数远远高于C++,

2016-04-20 19:13:12 304

原创 c/c++返回值为指针、引用时注意的地方

int *getint(){ int p=10; return &p;//提示返回临时变量}int *getint2(){ int *p=(int*)malloc(sizeof(int)*10); *p=10; return p;}int &getint3(){ int p=10; return p;//提示返回临时变量}int &

2016-04-18 00:41:24 6508 1

转载 C++中extern “C”含义深层探索

(转)C++中extern “C”含义深层探索1.引言   C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重

2016-04-17 23:16:30 239

转载 使用 malloc后free出错 错误所在

var protocol = window.location.protocol; document.write('#include<stdlib.h>void main(){char *test=malloc(100);test="123";free(test);test=NULL;}问题补充: 哦,大概明白了点,谢谢。我用sprintf(test,"231231

2016-04-17 20:11:37 6861 1

原创 c/c++中求取字符串,数组,一块内存的长度

1、字符串char *p2="aaaa";cout<<"*p2 size"<<strlen(p2)<<endl;//不能用sizeof(p2)/sizeof(p2[0])2、数组int s[6];s[0]=1;s[1]=2;cout<<"*p size"<<sizeof(*s)<<endl;cout<<"p size "<<sizeof(s)/sizeof(s[0])<<endl;//

2016-04-17 19:56:13 717

原创 const的含义

含义如下,形参,实参,函数返回值等意义一样int main(){ int num=5; const int value=10;//必须赋初值,不能通过value来改变值 const int *p;//不能通过p来改变指向的对象 int *const pp=&num;//指向不能改变 p=&num; cout<<num<<'\n'<<*p<<'\n';

2016-04-16 16:57:35 354

原创 linux常用的工具安装

安装QT:  sudo apt-get install qt-sdk安装opencv库:  sudo apt-get install libcv-dev libopencv-dev安装python:  sudo apt-get install python-dev python-opencv python-imaging python-imaging  sudo pip install numpy内

2016-02-25 13:36:06 453

原创 JAVA成员变量初始化

成员变量: 分为静态成员变量、实例成员变量。 成员变量在使用前都有初始化值,成员变量的初始化方式有很多。 1、初始化方式 静态成员变量:在声明处初始化在静态初始化块中初始化(加static关键字的块)public static int X = 10;//在声明处初始化static { //在静态初始化块中初始化 X = 15; } 实

2016-01-12 23:43:37 544

原创 JAVA中类的构造器

首先,什么是构造器,构造器的作用。 构造器也叫做构造方法,作用就是用来初始化类的实例成员变量的,所以是第一个执行的代码块。 1、默认构造器 默认构造器是否为空呢? 答案是不为空,因为每一个构造器都至少调用了父类的构造器,知道Object类为止,如果一个构造器没有调用本类中的其他构造器,那么编译器就会在这个构造器的第一行隐式的调用父类构造器, 这个默认构造函数的特点:无参,访问权限与定义类的

2016-01-12 13:30:22 877

原创 JAVA程序中代码的初始化

1、类成员变量的初始化循序2、对象的初始化 3、接口的初始化

2016-01-12 12:33:40 320

原创 JAVA中的String常量池

ccc

2016-01-11 21:39:33 280

原创 JAVA中的equals方法与“==”

关于这个问题,很多人都能够说出它们之间的区别,在这里对equals 方法进行深入分析。 1、区别 “==”比较的是对象的地址,如果对于基本类型,比较的是变量的值。 equals比较的准则是自己定义的,有的类中重写了Object类的equals方法,有的没有重写,没有重写的比较的准则就是对象的地址,重写的如String类,比较的是内容。也可以自己重写,准则自己定。public boolean e

2016-01-11 21:32:44 262

原创 JAVA中的String类--String的最大长度

首先给出结论: String在内存中的最大长度理论上是int型变量的最大值,Integer.MAX_VALUE, String的字面常量的最大长度为CONSTANT_Utf8_info表决定,一般为65535. 1、String的内部实现 通过一个字符数组来维护字符序列,其声名如下:private final char value[];所以,String的最大长度取决于字符数组的最大长度,因

2016-01-11 21:16:20 19679 1

原创 JAVA中的String类--字符链接运算符“+”

关于“+”运算符,不同的平台实现上可能会有不同: 1、官方JDK1.7的实现:当使用“+”时,会创建一个临时的StringBuilder对象,该对象调用append()方法负责字符串的链接,然后调用toString()方法转化成字符串String对象。String str=new String("this is str");str=str+"!"//等价下面的//str=new StringB

2016-01-11 20:02:29 724

原创 Spring官方下载方式

Spring官网改版后找了好久都没有找到直接下载Jar包的链接,下面汇总些网上提供的方法.1.直接输入地址,改相应版本即可:http://repo.springsource.org/libs-release-local/org/springframework/spring/4.2.4.RELEASE/spring-framework-4.2.4.RELEASE-dist.zip2.在1的方法上输入前

2016-01-10 15:12:23 325

原创 C语言指针-----指针与文件

文件在C语言里被定义成了结构体,这个结构体包含了文件的一些信息FILE *fptr;关于FILE这个结构体定义在stdio.h文件中,这个结构体定义如下:struct _iobuf { char *_ptr; //文件输入的下一个位置 int _cnt; //当前缓冲区的相对位置 char *_base; /

2016-01-02 18:39:10 699

图解单片机功能与应用

关于51单片机的很详细,利用图解,很直观。

2013-04-03

uCOS-ii 2.83源码

uc/os-ii的源码,未修改的便于学习。

2013-04-03

空空如也

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

TA关注的人

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