- 博客(81)
- 资源 (1)
- 收藏
- 关注
原创 solr学习(四)-solr 7.2.1 导入Mysql数据库,表数据
1、在core(..tomcat\webapps\solr\solrhome\new_core)下新建data_config.xml并编写代码:<?xml version="1.0" encoding="UTF-8" ?><dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.j.
2018-03-06 10:55:37 6606 2
原创 solr学习(三)-用jetty启动调用solr 7.2.1
下载完solr 7.2.1之后解压;在../solr 7.2.1/bin目录下执行cmd,命令为:solr.cmd start,如图:在浏览器登录,结果如图:相关文章:《solr学习(一)-solr 7.2.1搭建(windows系统)》《solr学习(二)-java调用solr 7.2.1》《solr学习(四)-solr 7.2.1 导入Mysql数据库,表数据》...
2018-03-06 10:34:01 1302
原创 solr学习(二)-java调用solr 7.2.1
1、新增core,如图:2、可能会报错,如图:3、在tomcat\webapps\solr\solrhome下已经有了new_core的文件夹,但是里面没有任何内容,这时将tomcat\webapps\solr\solrhome\configsets\sample_techproducts_configs下的conf文件夹拷贝到tomcat\webapps\solr\solrhome下,重新Add...
2018-03-02 10:34:34 7212 1
原创 solr学习(一)-solr 7.2.1搭建(windows系统)
1、下载solr,官方地址:https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/7.2.1/,下载文件solr-7.2.1.zip;2、安装java8并配置环境变量;3、下载tomcat8;4、solr7.2.1解压后找到solr-7.2.1/server/server-webapp/目录下的webapp文件夹,复制粘贴到tomcat下的...
2018-02-28 16:51:12 4194 1
原创 MySQL MyISAM存储引擎
在 MySQL 5.1 及之前的版本,MyISAM 是默认的存储引擎。MyISAM 提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但 MyISAM 不支持事务和行级锁,而且有一个毫无疑问的缺陷是崩溃后无法安全恢复。MyISAM 回将表存储在两个文件中:数据文件和索引文件,分别以 .MYD 和 .MYI 为扩展名。MyISAM 表可以包含动态或者静态(长度固定)行。MyISAM 特性加...
2018-02-26 10:00:58 196
原创 MySQL InnoDB存储引擎
InnoDB 是 MySQL 的默认事务型引擎,也是最重要、使用最广泛的存储引擎。它被设计用来处理大量的短期(short-lived)事务,短期事务大部分情况是正常提交的,很少回被回滚。InnoDB 的性能和自动崩溃恢复特性,使得它在非事务型存储的需求中也很流行。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑 InnoDB 引擎。InnoDB 的数据存储在表空间(tablespace...
2018-02-24 15:34:01 674
原创 MySQL并发内部处理机制——多版本并发控制(MVCC)
MySQL 的大多数事务性存储引擎实现的都不是简单的行级锁。基于提升并发性能的考虑,一般实现了多版本并发控制(MVCC)。Oracle等其他数据库也实现了MVCC,但各个数据库MVCC的实现标准并不一致。可以认为MVCC是行级锁的一个变种,但是它在很多情况下避免了加锁操作,因此开销更低。它实现了非阻塞的读操作,写操作也只锁定必要的行。MVCC 的实现,是 通过保存呢数据在某个时间点的快照来实现的。...
2018-02-12 13:30:50 678
原创 设计模式(二十三)-解释器模式(Interpreter Pattern)——语法规则也是类
解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。Node.javapackage com.test.dp.Interpreter.Sample;//表示语法树“节点”的类public abstract class Node { ...
2018-02-11 17:29:03 177
原创 设计模式(二十二)-命令模式(Command Pattern)——命令也是类
命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。Command.javapackage com.test.dp.Command.Sample.command;//表示命令的接口public interface Command {...
2018-02-11 09:21:36 222
原创 设计模式(二十一)-代理模式(Proxy Pattern)——只在必要时生成实例
在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。Printer.javapackage com.test.dp.Proxy.Sample;//表示带名字的打印机的类(本人)public class Printer implements Printable { private String name; public Printer() { ...
2018-02-10 17:48:22 196
原创 设计模式(二十)-享元模式(Flyweight Pattern)——共享对象,避免浪费
当程序中需要大量对象时,如果都是用new关键字来分配内存,将会消耗大量的内存空间。享元模式(Flyweight Pattern)通过尽量共享实例变量来避免new出实例。当需要某个实例时,并不总是通过new关键字来生成实例,而是尽量公用已经存在的实例。这就是Flyweight模式的核心内容。big0.txt(数字0)....######........##......##......##.......
2018-02-09 09:11:20 233
原创 设计模式(十九)-状态模式(State Pattern)——用类表示状态
在面向对象变成中,是用类表示对象的。在状态模式(State Pattern)中,我们用类来表示状态。State.javapackage com.test.dp.State.Sample;//表示金库状态的接口public interface State { public abstract void doClock(Context context, int hour); // 设...
2018-02-08 17:36:32 199
转载 JAVA程序员面试总结,高手整理加强版
第一阶段:三年我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本 上的内容迈向真正的企业级开发。我们知道如何团队协作、如何使用项目管理工具、项目版本如何控制、我们写的代码如何测试如何在线上运行等等,积累了一定的 开发经验,也对代码有了一定深入的认识,是一个比较纯粹的Coder的阶段。第二阶段:五年五年又是区分程...
2018-02-08 15:14:27 234
转载 sql like 通配符及特殊字符的模糊查询处理
当编写WHERE语句中有LIKE条件时,如果参数中需要匹配 % 和_ 等特殊字符时,必须进行处理,否则系统会将其当成通配符处理。 SqlServer:有两种方案一:将参数中的 [ 替换成 [[], % 替换成 [%], _ 替换成 [_];(推荐用这种方案处理)二:先将参数中的 \ 替换成 \\, [替换成\[ , % 替换成 \%, _ 替换成 \_;然后在每个需要like查询的字段后加上es...
2018-02-08 10:38:32 2084
原创 设计模式(十八)-备忘录模式(Memento Pattern)——保存对象状态
备忘录模式(Memento Pattern)可以引入表示实例状态的角色,可以在保存和恢复实例时有效的防止对象的封装性遭到破坏。使用备忘录模式可以实现应用程序的一下功能:1、Undo(撤销)2、Redo(重做)3、History(历史记录)4、Snapshot(快照)备忘录模式就是一个事先将某个时间点的实例的状态保存下来,之后在必要的时,再将实例恢复至当时的状态。Memento.javapackag...
2018-02-08 09:03:16 432
原创 设计模式(十七)-观察者模式(Observer Pattern)——发送状态变化通知
在观察者模式(Observer Pattern)中,当观察对象的状态发生变化时,回通知给观察者。观察者模式适用于根据对象状态进行相应处理的场景。Observer.javapackage com.test.dp.Observer.Sample;//表示观察者的接口public interface Observer { public abstract void update(
2018-02-07 13:21:25 337
原创 设计模式(十六)-中介者模式(Mediator Pattern)——只有一个仲裁者
中介者模式(Mediator Pattern)中,组员向仲裁者报告,仲裁者向组员下达指示。Mediator.javapackage com.test.dp.Mediator.Sample;//定义“仲裁者”的接口(API)的接口public interface Mediator { public abstract void createColleagues();
2018-02-07 09:39:44 250
原创 设计模式(十五)-外观模式(Facade Pattern)——推卸责任
外观模式(Facade Pattern)可以为互相关联在一起的错综复杂的类整理出高层接口。Database.javapackage com.test.dp.Facade.Sample.pagemaker;import java.io.FileInputStream;import java.io.IOException;import java.util.Properties;
2018-02-06 13:58:43 188
原创 设计模式(十四)-责任链模式(Chain of Responsibility Pattern)——推卸责任
责任链模式(Chain of Responsibility Pattern)可以将多个对象组成一条职责链,然后按照它们在职责链上的顺序一个一个的找出到底应该谁来负责处理。Trouble.javapackage com.test.dp.ChainOfResponsibility.Sample;//表示发生问题的类,它带有问题的编号public class Trouble {
2018-02-06 09:00:08 813
原创 设计模式(十三)-访问者模式(Visitor Pattern)——访问数据结构并处理数据
访问者模式(Visitor Pattern)中,数据结构与处理被分离开来。Visitor.javapackage com.test.dp.Visitor.Sample;//表示访问者的抽象来,用它来访问文件和文件夹public abstract class Visitor { public abstract void visit(File file); publi
2018-02-05 09:23:39 747 2
原创 Spring的事务传播行为
Spring一共提供了7种事务传播行为:1、PROPAGATION_REQURED;2、PROPAGATION_REQURED_NEW;3、PROPAGATION_NESTED;4、PROPAGATION_SUPPORTS;5、PROPAGATION_NOT_SUPPORTS;6、PROPAGATION_NEVER;7、PROPAGATION_MANDATORY;假设事务从方法A传播到方法B,用户...
2018-02-05 09:03:19 582
转载 Mysql进阶:mysql分页性能优化
方式1: select * from table order by id limit m, n; m越大,查询的性能会越低(越后面的页数,查询性能越低),因为MySQL同样需要扫描过m+n条记录。 方式2: select * from table where id > #max_id# order by id limi...
2018-02-02 14:15:32 172
原创 设计模式(十二)-装饰器模式(Decorator Pattern)——装饰边框与被饰物的一致性
装饰器模式(Decorator Pattern)能不断的为对象添加装饰。Display.javapackage com.test.dp.Decorator.Sample;//抽象类,用于显示字符串public abstract class Display { public abstract int getColumns(); // 获取横向字符数
2018-02-02 09:19:30 382
原创 设计模式(十一)-组合模式(Composite Pattern)——容器与内容的一致性
组合模式(Composite Pattern)是能够使容器与内容具有一致性,创造出递归结构的模式。Entry.javapackage com.test.dp.Composite.Sample;//抽象类,表示“目录条目”,用来实现File和Directory的一致性public abstract class Entry { public abstract String g
2018-02-01 09:07:22 255
转载 机器学习和人类学习的区别到底是什么?
人类和机器学习都能产生知识,但两者之间的差别很大。学习是获得新的或加强已有的知识、行为、技能或价值观的行为。“人类有学习的能力,然而随着人工智能的进步,机器学习已经成为一种资源,它可以增强甚至取代人类的学习,”工程师兼心理学家Peter Rudin对Singularity2030网站说。Rudin说,人类和机器学习都能产生知识,但一个产生于人类大脑,而另一个则产生于机器。但
2018-01-31 13:05:08 2839
原创 设计模式(十)-策略模式(Strategy Pattern)——整体的替换算法
策略模式(Strategy Pattern)可以整体的替换算法的实现部分。Hand.javapackage com.test.dp.Strategy.Sample;//算法需要计算的对象,这里代表“手势”public class Hand { public static final int HANDVALUE_GUU = 0; // 表示石头的值 public st
2018-01-31 09:25:58 383
原创 设计模式(九)-桥接模式(Bridge Pattern)——将类的功能层次结构与实现层次结构分离
桥接模式(Bridge Pattern)的作用是在“类的功能层次结构”和“类的实现层次结构”之间搭建桥梁。类的功能层次结构是为了增加新功能而产生的层次结构。1、父类中具有基本功能;2、在子类中增加新的功能;类的实现层次结构的不是方便我们增加新的方法,而是为了实现下面这样的任务分担:1、父类通过声明抽象方法来定义接口(API);2、子类通过实现具体方法来实现接口(API);
2018-01-30 09:26:42 388
原创 设计模式(八)-抽象工厂模式(Abstract Factory Pattern)——将关联零件组装诚产品
抽象工厂的工作是将“抽象零件”组装为“抽象产品”。抽象工厂模式(Abstract Factory Pattern)不关心零件的具体实现,而是只关心接口(API)。仅使用该接口(API)将零件组装成为产品。抽象工厂模式中,子类负责方法的具体实现,子类这一层有具体的工厂,他负责将具体的零件组装成为具体的产品。Item.javapackage com.test.dp.Abstract
2018-01-29 16:50:26 321
原创 设计模式(七)-建造者模式(Builder Pattern)——组装复杂的实例
建造者模式(Builder Pattern)用于组装具有复杂结构的实例。Builder.javapackage com.test.dp.Builder.Sample;//编写文档的抽象类public abstract class Builder { public abstract void makeTitle(String title); public abstr
2018-01-29 09:03:12 1008
原创 设计模式(六)-原型模式(Prototype Pattern)——通过复制生成实例
原型模式(Prototype Pattern)是不根据类来生成实例,而是根据实例来生成新实例的模式。在以下情况,我们不能根据类来生成实例,而要根据现有的实例来生成新的实例:1、对象种类繁多,无法将它们整合到一个类中时; 需要处理的对象太多,如果将它们分别作为一个类,必须要编写很多的类文件。2、难以根据类生成实例时; 生成实例的过程泰国复杂,很难根据类来生成实例。
2018-01-26 09:32:52 311
原创 设计模式(五)-单例模式(Singleton Pattern)——只有一个实例
程序运行时,通常回生成很多实例。但是,当我们想在程序中表示某个东西只会存在一个时,就会有“只能创建一个实例”的需求。当然,只要我们多加注意,只new一次也能达到目的。但是,我们肯定都不想“多加注意”,那应当怎么做呢?1、想确保任何情况下都绝对只有一个实例;2、想在程序上表现出“只有一个实例”;像这样的确保只生成一个实例的模式倍乘坐单例模式(Singleton Pattern)。
2018-01-25 09:36:12 475 1
原创 设计模式(四)-工厂模式(Factory Method Pattern/Factory Pattern)——将实例的生成交给子类
Factory有“工厂”的意思.用Template Method模式来构建生成实例的工厂,这就是Factory Method模式。在工厂模式中,父类决定实例的生成方式,但并不决定索要生成的具体类,具体的处理全部交给子类负责。这样就可以将生成实例的框架和实际负责生成实例的类解耦。Product.javapackage com.test.dp.FactoryMethod.Sample.fr
2018-01-24 09:44:41 408
原创 设计模式(三)-模版模式(Template Pattern)——将具体处理交给子类
模版模式(Template pattern)是带有模版功能的模式,组成模版的方法被定义在父类中。在父类中定义处理流程的框架,在子类中实现具体处理。AbstractDisplay.javapackage com.test.dp.template;//模板抽象类public abstract class AbstractDisplay { public abstract voi
2018-01-23 09:48:19 223
原创 设计模式(二)-适配器模式(Adapter Pattern)——加个“适配器”以便于复用
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。适配器模式有以下两种:1、类适配器模式(使用继承的适配器);2、对象适配器模式(使用委托的适配器);第一种示例:Banner.javapackage com.test.dp.adapter;//具体实现,代表“实际情况”p
2018-01-22 09:17:24 465
原创 设计模式(一)-迭代器模式(Iterator Pattern)——一个一个遍历
迭代器模式(Iterator Pattern)是 非常常用的设计模式。用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。迭代器模式属于行为型模式。示例:Iterator.javapackage com.test.dp.iterator;//迭代器实现的接口public interface Iterator { public abstract bool
2018-01-19 10:24:06 547
转载 jqeury对象和dom对象的区别联系
1.jQuery对象和DOM对象第一次学习jQuery,经常分辨不清哪些是jQuery对象,哪些是 DOM对象,因此需要重点了解jQuery对象和DOM对象以及它们之间的关系.DOM对象,即是我们用传统的方法(javascript)获得的对象,jQuery对象即是用jQuery类库的选择器获得的对象;复制代码 代码如下:var domObj = document.getElementBy
2018-01-19 10:04:40 265
原创 Spring Boot搭建
环境准备EclipseJava环境(JDK 1.7或以上版本)Maven 3.0+一个最简单的Web应用使用Spring Boot框架可以大大加速Web应用的开发过程,首先在Maven项目依赖中引入spring-boot-starter-web:pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:...
2018-01-18 09:40:05 319
原创 Springmvc+redis jedis.jar redis集群连接方式,JedisSentinelPool哨兵连接池
分片连接池实现方式:《Springmvc+redis jedis.jar连接方式,ShardedJedisPool分片连接池》需要的jar包:redis-2.6.1.jarredis.properties配置:redis.maxIdle=300redis.maxTotal=600redis.maxWaitMillis=1000redis.testOnBorrow=trueredis.min...
2018-01-17 16:24:25 6010 1
原创 Springmvc+redis jedis.jar连接方式,ShardedJedisPool分片连接池
本文具体的java实现代码在博文:《Springmvc+redis jedis.jar连接方式,JedisSentinelPool哨兵连接池,集群方式》需要的jar包:redis-2.6.1.jarredis.properties配置:# Redis settingsredis.host=172.*.*.*redis.port=6379redis.pass=leavayredis.max...
2018-01-16 10:20:11 1456
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人