- 博客(62)
- 资源 (3)
- 收藏
- 关注
转载 Lucene检索与关键字Like 性能对比
日常开发中,相信大家经常会用like去匹配一些数据,同时我们也知道,like往往会导致全表扫描,当数据量越来越大的时候,我们会纠结于数据库的龟速查找,此时我们必须另寻蹊跷,这时lucene就可以大显身手了。 首先我们做一个demo,向数据库中插入10w条数据,总共778M。 接下来,我们搜索下新闻内容中包含“流行”的记录。 检索一下要78s,是谁都要砸了面前的破机子。 1 using S...
2018-02-09 10:46:00
1464
原创 window10的docker发布netcore2.0
window安装docker有2种方式1:如果不是window10操作系统,可以下载docker toolbox(里面包括了Docker Client for WindowsDocker Toolbox management tool and ISOOracle VM VirtualBoxGit MSYS-git UNIX tools )2:如果是window10操作系统,do
2018-02-07 17:38:18
2224
原创 mvc4 访问静态html页面
之前在网上看的都是在MVC模式下,默认在Views文件外的html页面可以访问,但是如果要访问Views里的静态页面,那就需要修改View文件夹中的web.config属性httpHandlers> add verb="GET,HEAD" path="*.html" type="System.Web.StaticFileHandler"/> ad
2018-01-26 10:45:28
4391
原创 yum命令安装php环境
安装环境:Red Hat 4.8.2-16所需安装软件:ApachePHPmysql-server一 安装 Apache1 检查、删除、安装rpm -qa|grep httpd //检查是否安装apacherpm -e 包名 --nodeps //若有则删除 PS:我没有删除,直接用的服务器原来的。yum install httpd
2018-01-24 14:34:54
3315
转载 在linux上部署netcore项目
sudo yum install libunwind libicu(安装libicu依赖)curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131(下载sdk压缩包)sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/do
2018-01-12 18:32:01
6851
转载 C#HashSet 、 Dictionary 、List性能对比
static void Main(string[] args) { const int COUNT = 1000000; HashSet hashSetOfInts = new HashSet(); Stopwatch stopWatch = new Stopwatch();
2017-12-18 17:09:16
3233
转载 MiniProfiler监控EF与.NET MVC项目
今天来说说EF与MVC项目的性能检测和监控首先,先介绍一下今天我们使用的工具吧.MiniProfiler~这个东西的介绍如下:MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC的性能分析的小程序。可以对一个页面本身,及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容,并
2017-12-13 17:05:47
1748
转载 js闭包的理解
一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。Js代码 var n=999; function f1(){ alert(n); } f1(); // 999另一
2017-12-08 16:44:38
194
原创 C#的数据结构
几种常见的数据结构 这里主要总结下小匹夫在工作中常碰到的几种数据结构:Array,ArrayList,List,LinkedList,Queue,Stack,Dictionary1:数组Array: 数组是最简单的数据结构。其具有如下特点:数组存储在连续的内存上。数组的内容都是相同类型。数组可以直接通过下标访问。 优点:创建一个新的数组时将
2017-12-05 10:42:49
303
转载 ASP.NET MVC 中使用Spring.NET实现简单的属性注入
使用Spring.NET对ASP.NET MVC中的Controller进行属性的依赖注入可以实现UI层和BLL层的完全解耦,下面通过一个简单的例子来做演示: 1.下载相关的程序集,点击下载,其中还有很多相关的文档、示例和源码,本文也是根据其中一个Demo写的; 2.新建一个MVC3的项目,添加一个Home控制器,然后在自动添加的Index Action上添加一个视图,并在Ho
2017-12-04 14:07:42
1424
转载 MyBatis-Generator在Eclipse上配置及使用
之前用MyBatis框架的时候,都是手敲的代码,就感觉到好麻烦的样子。今天就到网上搜了一下MyBatis自动构建工具,就发现在官网上推荐了MyBatis Generator这个构建工具。官网推荐地址:http://mybatis.github.io/generator/index.html 那接下来我就来详细介绍一下MyBatis Generator配置过程及其使用方法。
2017-11-28 16:06:07
414
转载 spring常用的注解(@ENTITY,@TABLE,@COLUMN,@REPOSITORY,@SERVICE)
当项目变得比较大的时候,如何还使用hbm.xml文件来配置Hibernate实体就会变得比较复杂。这里Hibernate提供了Annotation注解方式,使得Hibernate的映射文件变得很方便管理了。 这里简单介绍Hibernate的Annotation注解 一、声明实体 @Entity
2017-11-24 16:17:56
2410
转载 一个web项目web.xml的配置中<context-param>配置作用
的作用:web.xml的配置中配置作用1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: 和 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.3.容器将转化为键值对,并交给ServletContext.4.容器创建中的类实例,即创建监听.5.在监听中会有conte
2017-11-24 11:25:28
1064
转载 使用eclipse插件创建一个web project
使用eclipse插件创建一个web project首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 war的形式 由于packing是war包,那么下面也就多出了webapp的目录
2017-11-23 16:49:36
500
转载 springmvc请求参数获取的几种方法
1、直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交。 /** * 1.直接把表单的参数写在Controller相应的方法的形参中 * @param username * @param password * @return */ @RequestMapping("
2017-11-22 17:11:56
225
转载 spring中的context:include-filter和context:exclude-filter的区别
(1)在Spring-MVC.xml中有以下配置: 扫描@Controller注解 -->context:component-scan base-package="com.fq.controller"> context:include-filter type="annotation" expression="org.springframework.s
2017-11-22 16:31:22
1552
原创 JAX-RS的传参类型
1 先来看@queryparam 先看例子: Java代码 Path("/users") public class UserService { @GET @Path("/query") public Response getUsers( @QueryParam("from"
2017-11-09 14:58:37
850
原创 string的特性
两个特性:不可变性,驻留池。首先要清楚Systrm.String是一个又值语议的引用类型,也就是说,String不同于大多数的引用类型。其比较操做是对字符串值进行比较,而不是比较字符串的位置。字符串是一个Char类型的序列,创建字符串后,不能在当前内存位置上改变,如不能缩短,不能在后面追加字符,也不能改变其中的字符。当然,字符串的值时可以修改的,但是修改后的字符串要存放在新的内
2017-11-01 16:03:52
933
转载 ado.net EF与ado.net区别比较、在EF中使用执行sql语句
ado.net EF作为微软的一个ORM框架,通过实体、关系型数据库表之间的映射,使开发人员可以通过操作表实体而间接的操作数据库,大大的提高了开发效率。这样一来,.net平台下,我们与底层数据库的交互就有两种选择了(这句话说得不是很准确,微软.net 框架下还是有其他的ORM框架的,,如Nhibernate):ado.net EF、ado.net 。你可能以为我上面的内容写错了,a
2017-10-10 11:23:57
1328
转载 数据库连接池
目录什么是连接池?连接池的工作原理说说连接池的几个非常重要属性连接池异常与处理方法监视连接状态的方法高效使用连接池的基本原则1. 什么是连接池? 在上篇文章《你必须知道的ADO.NET(四) 品味Connection对象》中,我已经强调过,建立一个数据库连接是一件非常耗时(消耗时间)耗力(消耗资源)的事情。之所以会这样,是因为连接到数据库服务器需要经历几个漫长
2017-10-10 09:47:38
274
转载 C# 之泛型详解
什么是泛型 我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为方法的参数类型不同。有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型的出现就是专门解决这个问题的。读完本篇文章,你会对泛型有更深的了解。为什么
2017-10-09 14:42:11
205
转载 C#lock 的string String.Intern 方法
公共语言运行库通过维护一个表来存放字符串,该表称为拘留池,它包含程序中以编程方式声明或创建的每个唯一的字符串的一个引用。因此,具有特定值的字符串的实例在系统中只有一个。例如,如果将同一字符串分配给几个变量,运行库就会从拘留池中检索对该字符串的相同引用,并将它分配给各个变量。Intern 方法使用拘留池来搜索与 str 值相等的字符串。如果存在这样的字符串,则返回拘留池中它的引用。如
2017-09-29 11:22:53
1951
转载 C# lock string 字符串 "暂留"
class TestWorker 2 { 3 public void DoMultiThreadedWork(object someParameter) 4 { 5 lock (lockObject) 6 { 7 // lots of work 8 } 9
2017-09-29 11:05:19
2887
1
原创 C#重试机制类
public static class Retry { /// /// 重试零个参数无返回值的方法 /// /// 执行方法方法 /// 重试间隔 /// 重试次数 public static void Execute(Action action, TimeSpan retr
2017-09-21 10:24:55
2202
转载 SVN 中创建Trunk、Branches、Tags 过程
关于SVN中的Branches与Tags在版本控制的系统中,我们经常需要对开发周期中的单独生命线作单独的修改,这条单独的开发生命线就可以称为Branches即分支。分支经常用于添加新的功能以及产品发布后的bug修复等,这样可以不影响主要的产品开发线以及避免编译错误等。当我们添加的新功能完成后可以将其合并到主干中。而Tags即标签主要用于项目开发中的里程碑,比如开发到一定阶段可以
2017-09-14 11:15:25
571
转载 EF是怎么操作数据库
1.查询首先查询的时候new了一个EF上下文对象构造函数调用了父类的构造函数。传入了一个连接字符串的nane 这个name在 webconfig 的 connectionstring中可以获取到连接字符串新建EF的时候选的是什么数据库就是生成什么数据库的EF上下文对象 根据配置文件来的查询的是时候通过IQueryable 下的扩展方法或者 Linq 生成相应的SQL
2017-08-31 09:50:40
2328
转载 linux下利用openssl来实现证书的颁发(详细步骤)
1、首先需要安装openssl,一个开源的实现加解密和证书的专业系统。在centos下可以利用yum安装。 2、openssl的配置文件是openssl.cnf,我们一般就是用默认配置就可以。如果证书有特殊要求的话,可以修改配置适应需求。这样必须把相关的文件放到配置文件指定的目录下面。 3、首先需要利用openssl生成根证书,以后的服务器端证书或者客户端证书都用他
2017-08-23 10:38:02
687
转载 openssl生成证书
1、ActivePerl 5.22.1 : http://www.activestate.com/activeperl/downloads2、Microsoft visual_studio_2010_professional:http://pan.baidu.com/s/1o6SsDn03、OpenSSL(openssl-1.0.2g):http://www.openssl.org
2017-08-23 10:37:15
527
转载 进程/线程同步的方式和机制,进程间通信
一、进程/线程间同步机制。临界区、互斥区、事件、信号量四种方式临界区(Critical Section)、互斥量(Mutex)、信号量(Semaphore)、事件(Event)的区别1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程进入后,其他试图访问公共资
2017-08-11 15:06:59
271
原创 vs的tool命令makecert生成数字签名证书
1:vs的tool的makecert 在vs安装目录下找到Visual Studio Tools文件 以管理员身份运行VS2012 开发人员命令第一步,生成一个自签名的根证书(issuer,签发者)。>makecert -n "CN=Root" -r -sv RootIssuer.pvk RootIssuer.cer第一步,生成一个自签名的根证
2017-08-10 16:32:32
3043
原创 nginx+iis负载均衡处理
iis上搭建2个站点127.0.0.1:4001127.0.0.1:4002windows下载nginx,运行start nginx 启动nginxnginx默认端口号为80, 可以在nginx.conf 配置文件修改端口号server 节点下面的 listen 监听端口号8080运行nginx -s reload 重启nginx,
2017-08-10 10:09:04
384
转载 4.0新特性中的Tuple
Tuple不用为了 一些简单的结构或对象而去新建一个类了。注意的是tuple最多支持8个成员,注意第8个成员很特殊,如果有8个成员,第8个必须是嵌套的tuple类型。列如:TupleTuple> 红色部分是第8个。第8个元素使用方法:对象.Rest.Item1,对象.Rest.Item2我们使用Tuple来完成一次简单数据集的传递工作。将T
2017-07-24 17:20:51
255
转载 C#把某个数组的一部分复制到另一个数组中的两种方法:Buffer.BlockCopy和Array.Copy
注解分析:1,Array.Copy在CLR处理机制中最灵活,最强大,可装箱,拆箱复制,可加宽CLR基元类型,可内部判断实现了IFarmattable接口的兼容转换,当然这种强大方式必然会带来一定的性能损失。 2,Array.ConstrainedCopy 对复制要求严格,只能是同类型或者源数组类型是目标类型的派生元素类型,不执行装箱,拆箱,向下转换 3,Bu
2017-06-23 10:28:33
7635
转载 使用bat命令来快速安装和卸载Service服务
一般我们在编写完Service服务程序后,都是通过cmd命令提示窗口来安装或卸载服务,但频繁的在cmd窗口中去“拼”文件的路径着实让人“不能忍”。所以,我们需要一钟“更快捷”的方式来进行安装或者卸载操作。 直接上代码:安装服务:@echo offc:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil.exe
2017-03-27 19:08:25
1483
转载 批处理(.bat)文件中使用相对路径
一般来说,批处理文件处理相对路径的时候,起始位置是bat文件所在的目录,比如在D:\XX目录下执行bat文件,所有相对目录的操作都会以D:\XX下执行。但是有些命令需要管理员权限,右键选择以管理员身份运行时后,起始位置则为C:\Windows\system32,这时候往往不是我们所想要的,一种解决解决办法是在批处理的行首加一句"cd D:\XX”进入该目录,以修改其当前位置,但这样
2017-03-27 19:07:47
3504
原创 位运算符
一个字节有 8位 也就是有一个8位的2进制数,比如 0000 0001 表示的是1 ,0111 1111 表示127,而位运算 实际就是 2进制的运算 & 按位与 比如 3&7 意思是 0000 0011位与 0000 0111,结果是 3也就是0000 0011。意思是如果2个数字同一为一,有0为0。| 按位或 比如 3|7 意思是 0000 0011位或 0000 0111, 结果是
2017-03-24 14:45:18
612
原创 linux下安装redis及其中遇到的问题的解决方法
1.将下载好的压缩包放到/usr/local目录下# tar xzf redis-3.0.2.tar.gz# cd redis-3.0.2# make提示错误 make: cc: Command not found make: *** [adlist.o] Error 127没有安装gcc环境,需要安装gcc# yum install gcc安装后检查是否安装成功# rpm -qa
2017-03-21 16:27:42
5874
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人