自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (2)
  • 收藏
  • 关注

原创 java 编程细节

1.long 与Long 的instance of的关系:直接报错,说明不是一个继承类型的。2. double类型除法的问题:可以除,且返回值为double 3.关于new Long 与 Long.valueOf()的区别这个问题可以通过阅读源码来解决: 通过源码可以发现,使用valueof更具有效率的原因在于 java JDK提供一种类似线程池的cache...

2018-11-16 17:10:02 248

原创 Java lambda表达式实例解析

首先我们来看一下具体的实例: List<String> t = new ArrayList();      t.add("01A");      t.add("02D");      t.add("03C");      t.add("01A");      List<String>filleNames =  t.stream().map(s -&amp

2018-11-16 16:40:35 446

原创 关于java异常e.toString是否存在安全泄露的问题

1.首先我们依旧看下e.toString()的API官方文档e.toString 的是否存在安全泄露的问题 String java.lang.Throwable.toString()Returns a short description of this throwable. The result is the concatenation of:the name of the cla...

2018-11-15 11:36:31 1002

原创 JAVA Pattern.matches的使用

1.首先阅读Pattern.matches的API:boolean java.util.regex.Pattern.matches(String regex, CharSequence input)Compiles the given regular expression and attempts to match the given input against it. An in...

2018-11-08 09:32:43 40556 2

转载 高级语言的编译:链接及装载过程介绍

###引言随着越来越多功能强大的高级语言的出现,在服务器计算能力不是瓶颈的条件下,很多同学会选择开发效率高,功能强大的虚拟机支持的高级语言(Java),或者脚本语言(Python,Php)作为实现功能的首选,而不会选择开发效率低,而运行效率高的 C/C++ 作为开发语言。而这些语言一般情况下是运行在虚拟机或者解释器中,而不需要直接跟操作系统直接打交道。虚拟机和解释器相当于为高级语言或者

2016-08-12 11:15:49 538

转载 Linux Socket编程(不限Linux)

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式

2016-07-29 16:15:12 244

原创 sqlsever2005语句

IF EXISTS (select * from dbo.sysobjects where Name = 'stuMarks')drop table stuMarkscreate table stuMarks(    id         int     identity(1,1) primary key,    name       char(20) not null,s

2016-07-06 20:01:37 355

原创 leetcode 字符串的所有的真子集

Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset must be in non-descending order. The solution set must not contain duplicate subsets. For examp

2016-05-18 20:57:45 640

原创 leetcode

Given two words word1 and word2, find the minimum number of steps required to convertword1 to word2. (each operation is counted as 1 step.) You have the following 3 operations permitted on a word:

2016-05-18 20:48:08 299

翻译 动态规划

Given a string s, partition s such that every substring of the partition is a palindrome. Return the minimum cuts needed for a palindrome partitioning of s. For example, given s ="aab", Return1

2016-05-10 22:02:47 283

原创 C# 读写txt文档

在做项目的时候经常要修改配置,所以不免要读取文件:下面以读写字典为例,读写tex文件: private void savefile() { string path="F:\\ak.txt"; FileStream fs = new FileStream(path, FileMode.Create);

2016-05-10 21:59:35 723 1

翻译 经典递归

Given a string s and a dictionary of words dict, add spaces ins to construct a sentence where each word is a valid dictionary word. Return all such possible sentences. For example, givens ="ca

2016-05-04 22:42:53 284

原创 中介者模式

中介者模式:如果设计的类之间不彼此直接通信,就可以用中介者模式,可以降低类与类之间的耦合。1.首先有n个基础功能类,这些类依靠中介者彼此通信,所以,这些基础功能类与中介者是依赖关系,具体类后者基础功能类的基类有中介者对象。2.首先有一个抽象的中介者,作为基类。3.有一个具体的抽象者,由于基础功能类的通信依靠中介者,所以中介者必须认识所有的基础功能类,所以中介者与基础功能类是聚合关系。

2016-05-04 17:00:12 272

原创 C++11多线程编程 call_once

call_once 可以使他所修饰的函数在多线程环境中只执行一次,call_once((once_falg)x,y),他接受一个once_falg变量参数,另一个参数可以使函数,lambda表达式等。上代码:#include #include#includeusing namespace std;once_flag t;void fun1(){ cout<<"i an

2016-05-04 16:48:18 338

原创 C++11 多线程编程 原子变量

利用atomic关键字,来控制变量在多线程中的同步。代码是学习语言最好的方式,上代码:#include #include#include#include#includeusing namespace std;void fun(atomic&counter){ for(int i=0;i<100;i++) { ++counter;

2016-05-04 16:25:48 886

原创 C++11 多线程编程---条件变量

C++11条件变量condition_variable配合mutex操作,利用mutex在保持互斥,利用条件变量的wait与notify函数来保持线程的等待与互斥。上代码:#include #include#include#include#includeusing namespace std;class A{public: bool isfull()const{ r

2016-05-04 15:56:29 489

原创 C++11 多线程编程

1.利用C++11线程函数创建线程,#include#includeusing namespace std;void fun(int i){ cout<<"i="<<i<<endl;}int main(){ for(int i=0;i<4;i++) { thread t(fun,i);//创建线程函数,参数为函数地址,与函数参数。对

2016-05-03 12:16:35 325

原创 命令模式

命令模式就是:发送命令者和命令收集者,命令收集者把命令传递给命令执行者。那么:1.首先有一个类,抽象命令类,他是命令的基类2.各种具体的命令类来继承基类,命令类函数参数是命令执行者。3.命令收集者类,这个类有一个命令基类的数组,此外还有2个命令方法:通知命令执行者执行命令,取消命令。4.命令执行者类,也称命令的接受者,去执行命令。现在看各类的关系:1.命令收集者

2016-05-02 22:29:50 208

原创 C++ 内存泄露

C++内存泄露主要发生在浅拷贝阶段:例如#include#include#include#includeusing namespace std;class A{private: char *m; size_t n;public: A(size_t n=1) { cout<<"i want to creat it"<<endl; m=new char[n];

2016-05-02 17:36:24 379

原创 C++11一些新特性

1.auto关键字,推断变量的类型。2.decltype,用于在编译器推断出表达式的类型。3.对于模板的改进,识别2个连续的>>括号。4.列表初始化,C++11 中的stl可以和未指定长度数组一样的初始化功能5.function函数包装,bing绑定函数6.lambda表达式1.右值引用T&&V;2.move语意

2016-05-01 21:25:11 214

原创 输入一个数组(M,N),只可以想右边下边走,从(1,1)到(M,N)经过的最大数字和

#include#includeusing namespace std;vector >A;int N,M;int max(int i,int j){return i>j?i:j;}int dfs(int i,int j){if(i==N||j==M) return 0;else if(i==N-1&&j==M-1)retur

2016-05-01 21:18:06 501

原创 C++ new内存分配

1.C++标准对内存分配失败有明确的规定,调用new_handel()函数会有:1.用new分配给多的内存,2.抛出bad_alloc异常3.调用exit退出上代码:#include#include#include#includeusing namespace std;char *gPool=NULL;void my_new_handler();int mai

2016-05-01 21:13:19 445

原创 设计模式--单例模式与迭代器模式的思考

单例模式:1.定义一个私有的构造函数。2.定义一个私有的静态实例。3.定义一个共有的静态函数,用于返回这个类的唯一实例。代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication3{

2016-05-01 19:47:02 444

原创 C++底层技术---操作系统的内存管理

操作系统的内存管理有几个原则1.进程私有2.基于页3.4GB大小操作系统分配主要有2个步骤1.预留2.提交进程的虚拟地址空间的页有三种状态:自由,预留,和提交预留的作用是针对频繁请求内存代码的,导致申请的地址空间不连续而增加的。一般的过程是自由---》预留------》提交预留只是从地址空间划分一部分给程序,而得到真正的物理存储空间是在提交阶段

2016-04-30 23:10:40 299

原创 备忘录模式

备忘录模式:主要作用是针对需要记录和保存历史的类1.一个需要保存记录的类,2.一个保存记录的容器。容器类保存需要记录类的属性3.一个容器的管理者。容器的管理者中有容器类。这个需要保存记录的类里面有保存和回复类,调用容器的管理者。组合模式:组合模式主要用于大小不同但是功能一样,但是不可以聚合的类中,例如美国和英国的政府部门职责有基本一样,但是美国和英国又是2个不同的国家,

2016-04-30 22:33:23 324

原创 求一组数的全部子集算法

求出全部的子集,有很多用处,例如下面这个题,在时间复杂度要求不高的情况下,可以用全排列来求。怎样将数字的全排列算法,用到具体的题目中去:Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each word is a valid dictionary w

2016-04-29 10:36:27 715 1

转载 C++ 拷贝构造函数 赋值构造函数

拷贝构造函数和赋值构造函数的异同由于并非所有的对象都会使用拷贝构造函数和赋值函数,程序员可能对这两个函数有些轻视。请先记住以下的警告,在阅读正文时就会多心:如果不主动编写拷贝构造函数和赋值函数,编译器将以“位拷贝”的方式自动生成缺省的函数。倘若类中含有指针变量,那么这两个缺省的函数就隐含了错误。以类String 的两个对象a,b 为例,假设a.m_data 的内容为“hello”,b.m_da

2016-04-26 18:03:19 281

转载 C++性能的优化

对于每一个程序员来说,程序的运行效率都是一个值得重视,并为之付出努力的问题。但是程序性能的优化也是一门复杂的学问,需要很多的知识,然而并不是每个程序员都具备这样的知识,而且论述如何优化程序提高程序运行效率的书籍也很少。但是这并不等于我们可以忽略程序的运行效率,下面就介绍一下本人积累的一些简单实用的提高程序运行效率的方法,希望对大家有所帮助。一、尽量减少值传递,多用引用来传递参数。至于其中的

2016-04-15 21:04:41 877

转载 工厂模式

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍工厂模式的实现。        工厂模式属于创建型模

2016-04-15 19:45:14 177

原创 STL源码----容器与算法

(A)vector有三个成员变量 start,finish,end_of_storage。1.对于vvector里面最重要的函数push_back会调用insert_aux()主要会做2件事a.判断空间是否足够(end_of_storage);如果不够1.会开辟2倍的内存空间,然后将以前的数据copy到新的内存空间2.会destory掉原来的内存空间在开辟与destroy的

2016-04-13 22:00:52 263

原创 STL源码-内存的分配

1.对于STL,编译器帮我做了很多东西,例如配置内存与释放内存a.首先在STL源码里面,利用allocate函数来分配内存,T *tmp=(T*)(new (sizeof(T)*size)t));new(P)T1(value)意思是在p所指的内存里面构造T1这个对象。b.对于destory函数而言,编译器也帮助我们释放了对象;ptr->~T();对于new与destory而言其

2016-04-13 21:33:46 205

原创 C# 读取数据表没有主键的问题

在做项目时,有事读数据库进行增删修改删除,发现表内的数据库并没有主键,那么一般有2种方法:1.联合主键,一般把表中几项联合起来作为主键,不过缺点是,联合起来的几项也有可能作为写代码的主键,所以一般不常用2.用生成流水号的方法,在表中在添加一项,这样可以构建出主键。

2016-04-13 11:35:53 1296

原创 C#泛型在项目中的运用

对于C#泛型着东西,其实用处还是很大的,主要是架构设计的好不好,架构设计的好,那么就可以发挥泛型的作用。例如我要在CS端做一个信息接收管理软件那么可以这样设计:1.设计一个主框架界面,框架左边是实现功能项。2.框架右边,是每个功能项对应的界面。3.每个功能独立的读写数据库,且每一个界面实现对一个数据库的读写,以完成需求。如果设计满足以上三项,可以这样使用泛型:

2016-04-11 11:39:55 1604 1

原创 多重部分和(2)

题目: 有n种不同大小的数字a, 每种各m个. 判断是否可以从这些数字之中选出若干使它们的和恰好为K #include using namespace std;int A[3]= {3,5,8};int B[3]= {3,2,2};int n=3;int K=17;bool d

2016-04-10 22:27:51 248

原创 多重部分和问题 递归搜索解法

//对于部分和的问题,我们通常会用DP来做,其实对于这类问题,在我们一时之间想不到好的解决方法的时候,我们可以先用深度搜索来做#include using namespace std;int A[3]={3,5,8};int B[3]={3,2,2};int n=3;int K=17;static int i1=0;bool dfs(int i,int j){

2016-04-10 21:24:17 378

原创 Excel的列编号 例如:A对应1,Z对应26,AA对应27,AZ对应52 ......

//今天华为笔试的一道上机题 Excel的列编号 例如:A对应1,Z对应26,AA对应27,AZ对应52 ......随机输入一个字符串求他对于数字,当时想了一个比较复杂的算法,虽然也OJ了,但是总是觉得开辟内存太多,后来发现其实挺简单的。总结:每道题一定要在思路清晰之后在动手敲代码,可以借助纸笔等工具来清晰你的思路,否则花很多时间。而且算法的复杂度也不高。#include #inclu

2016-04-09 18:11:16 16713 2

原创 C# 断点不赋值问题

在用是vs2010时候,当对静态变量赋值的时候,会发现设置断点处的静态变量赋值无效,这不是程序出了问题,而是编译器内部的原因。解决方法:将断点设置在静态变量的后面即可。

2016-04-08 22:59:13 433

原创 完全背包问题

#include #include using namespace std;const int maxn=100;int d[maxn][maxn];int n=3;int w[3]={3,4,2};int v[3]={4,5,3};int max(int i,int j){ return i>j?i:j;}int dfs(int i,int j){ in

2016-04-08 21:36:43 223

原创 最长公共子序列,记忆化搜索

#include <iostream>#include <string>using namespace std;const int maxn=100;int max(int i,int j){ return i>j?i:j;}string s1,s2;int d[maxn][maxn];//记忆化搜索void dfs(int i,int j){ if(i>=s1.s

2016-04-08 20:54:16 489 2

原创 怎样改动groupbox空间里面的颜色

有时,问了项目的需求,与界面的好看,我们往往会使窗体用不同的页面颜色,供用户体验,当用户选中不同的颜色,那么窗体里面空间的字体颜色也得跟着变,那么我们应该如何:怎样改动groupbox空间里面的颜色: 下面提供代码: public static void ChangePanel(System.Windows.Forms.Control PanelData) {

2016-04-07 21:33:41 692

ARM指令集三星电子

ARM指令集,各种ARM开发的指令集系统,针对三星电子,可以学习学习

2016-03-01

具体数学中文版

具体数学中文版,算法的核心,最著名计算机专家合著的教材

2015-09-20

空空如也

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

TA关注的人

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