自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(127)
  • 资源 (1)
  • 收藏
  • 关注

原创 认知“芝诺悖论”

       芝诺悖论(Zeno's paradox)是古希腊数学家芝诺(Zeno of Elea)提出的一系列关于运动的不可分性的哲学悖论。       芝诺:“一个人从A点走到B点,要先走完路程的1/2,再走完剩下总路程的1/2,再走完剩下的1/2……”如此循环下去,永远不能到终点。       假设此人速度不变,走一段的时间每次除以2,时间为实际需要时间的1/2+1/4+1/8+.....

2018-08-17 16:04:17 1310 1

原创 对“学习金字塔”的了解

       学习金字塔是美国缅因州的国家训练实验室研究成果,它用数字形式形象显示了:采用不同的学习方式,学习者在两周以后还能记住内容(平均学习保持率)的多少。它是一种现代学习方式的理论。最早它是由美国学者、著名的学习专家爱德加·戴尔1946年首先发现并提出的。       在塔尖,第一种学习方式——“听讲”,也就是老师在上面说,学生在下面听,这种我们最熟悉最常用的方式,学习效果却是最低的...

2018-08-17 15:47:49 1682

原创 Git详解之基本原理

使用git实际工作时间也很长了,但是发现很多人(包括自己)对于git的命令不熟,与其这么说,我们不如说是对于其根本原理不清楚。那么我们今天不妨来看一下git的基本原理。     Git 究竟是怎样的一个系统呢? 若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余。Git 在保存和对待各种信息的时候与其它版本控制系统有很大差异,尽管操作起来的命令形式非常相近,理解这些差异将有助

2017-12-09 15:47:52 8445

原创 mybatis-generator的使用

Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件。1.准备首先,我们去下载工具类。https://github.com/mybatis/generator/releases 由于我使用的是mysql数据,所以我使用了mysql的相关jar。 2.配置信息<?x

2017-12-04 21:22:27 304 1

原创 Linux命令之rm

上一篇创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令。rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。    rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -r

2017-11-26 20:49:45 332 1

原创 linux命令之mkdir

linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。1.命令格式:mkdir [选项] 目录…2.命令功能:    通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限。并且,所创建的文件夹(目录)不能与

2017-11-16 20:31:30 750 1

原创 Linux命令之pwd

Linux中用 pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。        在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。1.命令格式:pwd [选项]2.命令功能:查看”当前工作目录“的完整路径3.常用参数:一般情况下不带任何参数,如果目录是链接时: 格式:pwd -P 显示出实际路径,而非使用

2017-11-14 21:29:55 276

原创 Linux命令之CD

在linux操作系统中,命令行处于核心的地位。命令行是一种对操作系统的输入输出界面,与图形界面相对。目前,在计算机操作系统中图形界面成为了主流。然而,作为字符界面的命令行由于占用系统资源少、性能稳定并且非常安全等特点使其仍发挥着重要作用,linux命令行在服务器中一直有着广泛应用。利用命令行可以对系统进行各种操作,这些操作虽然没有图形化界面那样直观明了,但是却显得快捷而顺畅。       在linu

2017-11-13 22:59:02 356

原创 Git详解之基础概念

学习任何东西都能在网络上找到如此之多的资源,当然包括大量的优秀教程。然而我发现一些教程直接跳过理论知识,直接教我们如何使用。        万变不离其宗,如果我们能够了解一些知识的原理,对于生活或者工作上的应用也就游刃有余了。        比如说我们今天要讲的git,我们不禁要思考git是什么,然后我们去百度得到下面一个结论:Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大。

2017-11-12 19:08:16 319

原创 java线程池简介

Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。 n

2017-07-31 21:48:20 675

原创 java多线程(一)

多线程最近一直在学习,现在有必要总结一下:一.线程的生命周期及五种基本状态关于Java中线程的生命周期,首先看一下下面这张较为经典的图: 上图中基本上囊括了Java中多线程各重要知识点。掌握了上图中的各知识点,Java中的多线程也就基本上掌握了。主要包括:Java线程具有五中基本状态新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread();就

2017-07-31 21:34:51 245

原创 RabbitMQ之理论篇

谈到RabbitMQ,首先要谈到MQ和AMQP. MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需用专用连接来链接它们。     消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的RabbitMQ就是当前

2016-11-20 19:08:56 635 3

原创 集合详解之ArrayList

今天我们来分析一下List中的ArrayList,平常我们编码的过程中,这个是一个非常常用的集合类型。一、 ArrayList概述:        ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存。       ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronize

2016-08-31 15:48:35 1155 2

原创 集合详解之HashMap

HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机制完全一样,甚至 HashSet 本身就采用 HashMap 来实现的。        1.简单说下Ha

2016-08-30 19:40:19 2085 4

原创 java集合类详解(一)

最近一直想去总结java集合类,但是网上的一些资料,总是没有显示全真正的java集合类,今天凑巧在网上看到这么一张图: 点击放大图片那么我们为什么要引入集合这个概念?       在集合之前,当我们处理数据时,需要使用数组:        1.固定的大小,或不可能增长太多        2.同一个数组只能存放类型一样的数据(基本类型/引用类型)        3.你会做大量的索引,即你

2016-08-30 16:37:07 589 1

原创 MySql之存储引擎

什么是存储引擎,存储引擎说白了就是如何存储数据,如何为存储的数据建立索引和如何更新,查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以成为表类型。        在Oracle和SQL Server等数据库中只有一个存储引擎,所有的数据存储管理机制都是一样的。MySQL数据库提供了多种存储引擎,用户可以根据不同的需求为数据库表选择不同的存储引擎,也可以根据

2016-07-31 17:01:23 365

原创 JVM之垃圾收集

Java与C++之间有一堵内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。概述:       对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们既是拥有最高权利的“皇帝”又是从事最基础工作的“劳动人民”——既拥有每一个对象的“所有权”,又担负着每一个对象声明开始到终结的维护责任。       对于 Java 程序员来说,在虚拟机自动内存管理机制的帮助下,

2016-07-31 15:33:34 556

原创 JVM之运行时数据分析

上篇博客,我们简介了什么是jvm,我们知道了jvm的体系结构:类装载器(ClassLoader)子系统,运行时数据区,和执行引擎。今天我们来分析一下运行时数据。Java运行时内存区       Java的运行时内存组成如下图所示:        其中,对于这各个部分有一些是线程私有的,其他则是线程共享的。依赖用户线程的启动和结束而建立和销毁(线程私有):       •程序计数器

2016-07-31 11:39:28 409

原创 JVM简介

也许对于我们平常开发来说,大多数情况下的确是无需对内存的分配、释放做太多考虑,对Jvm也无需有多么深的理解的。但是也许正是这样,导致我们写的程序会出现一些容易忽视的问题,一旦问题出现,我们不易排查。因此了解jvm,是我们写好程序的一个必须技能。1. 什么是JVM?       JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的

2016-07-31 11:00:43 451

原创 Hibernate持久化三种对象

在Hibernate中,持久化对象在被操作过程中可以分为三个时期,这三个时期是和Session的周期相关的,因为Hibernate中的操作都是基于Session完成的。所以Session对象的生命周期也关系着持久化对象的生命周期。    持久化对象的生命周期有三种,分别是瞬时态(Transient),持久态(Persistent)和脱管态(Detached)。        对

2016-06-30 21:54:19 493

原创 Hibernate之cache管理

一、why(为什么要用Hibernate缓存?)    Hibernate是一个持久层框架,经常访问物理数据库。    为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。    缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。二、what(Hibernate缓存原理是怎样的?)   Hi

2016-06-30 21:37:08 617

原创 NoSql之Redis集群搭建

上一篇我们是说了集群原理,那么这次我们来讲解集群的搭建,我下面使用的是单机多实例。1.ruby环境   redis集群管理工具redis-trib.rb依赖ruby环境,首先需要安装ruby环境: yum install ruby yum install rubygems  安装ruby和redis的接口程序  拷贝redis-3.0.0.gem至/usr/loca

2016-06-30 21:13:04 536

原创 NoSql之Redis集群原理

为什么集群?通常,为了提高网站响应速度,总是把热点数据保存在内存中而不是直接从后端数据库中读取。Redis是一个很好的Cache工具。大型网站应用,热点数据量往往巨大,几十G上百G是很正常的事儿,在这种情况下, 如何正确架构Redis呢?    首先,无论我们是使用自己的物理主机,还是使用云服务主机,内存资源往往是有限制的,scale up不是一个好办法,我们需要scaleout横向可伸缩扩展

2016-06-30 20:44:26 1429

原创 NoSql之Redis持久化

如果你认为Redis是一个key value store, 那可能会用它来代替MySQL;如果认为它是一个可以持久化的cache, 可能只是它保存一些频繁访问的临时数据。       我们来设想一个问题,通过前面的介绍,我们知道了redis与memcached都可以当做缓存,提高访问效率,那么如果对于突然断电或者其他故障,那么是不是意味着我们的缓存数据要丢失?       redis是一个支持持久化

2016-05-31 11:51:05 8074 5

原创 NoSql之Redis数据类型

通过前面两篇博客,我们已经知道了NoSql以及redis的安装,今天我们正式介绍redis。redis简介       Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。        redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字

2016-05-30 20:21:06 590 3

原创 NoSQL之Redis安装

学习redis最好的办法就是尝试他,我们在介绍redis的核心内容之前,我们先来介绍一下如何安装和运行redis,这样后面我们可以一边学习一边实践。安装       redis是C语言开发,建议在linux上运行,这里我们使用Centos64作为安装环境。 安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc

2016-05-23 16:58:30 629 2

原创 初识NoSQL

开始之前,因为最近在做一个项目,其中用到了redis,正所谓不谋万世者,不足谋一时,不谋全局者,不足谋一域,我们先介绍一下NoSQL,从宏观上把控非关系型数据库的特点,再详细去研究redis,相信这样的学习的效率也是非常高的。    废话不多说,我们先来介绍下NoSql。   概念    NoSQL(NoSQL=NotOnly SQL),意即“不仅仅是SQL”。    随着we

2016-05-23 16:34:31 431 2

原创 正向代理与反向代理

正向代理的概念正向代理:是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个

2016-04-30 16:58:34 378 4

原创 Javaweb之图片的处理

对于图片的上传,我们是非常常见的,那么怎么处理图片呢?下面我就为大家介绍 web项目中的这一上传功能,那么文件是如何从本地发送到服务器的呢?    在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现。      对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流

2016-04-30 16:30:33 2052 5

原创 tomcat部署solr

1、下载Tomcat与solr-5.2.1并解压,Tomcat解压后的目录为:E:\apache-tomcat-7.0.62,solr解压后的目录为:E:\solr-5.2.12、将solr部署到Tomcat中  1)、将E:\solr-5.2.1\example\example-DIH目录下的solr文件夹复制到tomcat的根目录下,即:E:\apache-tomcat-7.0.62\

2016-04-29 19:46:56 454 6

原创 初始lucene与solr

对于每个软件,当数据量很大时,sql查询的效率将会很低,今天我们来介绍两个解决此问题的技术。    Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta 家族中的一个开源项目。也是目前最为流行的基于 Java 开源全文检索工具包。    目前已经有很多应用程序的搜

2016-04-29 19:26:00 468 4

原创 Filter与Servlet的区别与联系

在我们写代码时,在web.xml中总能发现类似下面的代码: <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.su

2016-03-31 16:26:13 11592 5

原创 JSP 中的 Filter 过滤器

一、什么是过滤器    过滤器是一个程序,它先于与之相关的 servlet 或 JSP 页面运行在服务器上。过滤器可附加到一个或多个 servlet 或 JSP 页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择:(1)以常规的方式调用资源(即,调用 servlet 或 JSP 页面)。(2)利用修改过的请求信息调用资源。 (3)调用资源,

2016-03-31 09:59:11 749 4

原创 转发与重定向的区别详解

我们知道,在servlet中调用转发、重定向的语句如下:request.getRequestDispatcher("test.jsp").forward(request,response); //转发到test.jspresponse.sendRedirect("test.jsp"); //重定向到test.jsp在jsp页面中你也会看到通过下面的方式实现转发:

2016-03-30 23:50:55 6177 6

原创 通过dom4j读取xml实现数据库连接

在我们大多数需要开发的软件中,我们无不需要连接到数据库,当然,有时候我们将这些链接信息放到类中,而更多时候我们都是放到xml文件中,今天我们就一起来学习一下怎样通过dom4j读取配置文件,进行连接数据库。    dom4j是什么?这个我们要去查,百度的解释是:dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性

2016-03-06 17:55:23 518 6

原创 java中的list、set与map

数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中非JAVA集合只能存放引用类型的的数据,不能存放基本数据类型。   JAVA集合主要分为三种类型:     HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于

2016-02-29 18:49:10 420 4

原创 浅谈spring

1.什么是spring框架    spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对javaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,ibatis框架等组合使用。2.架构概述    1)IoC(Inversion ofControl)控制反转,对象创建责任的反转,在spring中BeanFacotory是IoC容器的

2016-02-29 18:16:23 728 3

原创 sql去除周六日的计算

Sql是总做中的重中之重,因为再牛的程序,总得需要sql语句,总得要去增删改查,然而只要增删改查就总需要sql语句,于是乎,灵活的运用sql语句可以帮助我们减轻很多工作量。    最近工作中有这养一个需求,一共两个页面,首先我们一些已知的内容需要在第一个页面上展示,但是当五个工作日(不包括周六日)后,第一个页面中的内容自动去掉,将这些内容展示自动展示到第二个页面上。    那么这其中最主要

2016-02-28 22:29:21 1409 4

原创 15下半年的成长之路

不知不觉新的一年就已经开始了,之所以称为新的一年,我想其目的也就是让我们好好总结过去的一年,展望新的一年,以期能够更好地进步,成长。    15年上半年,我们之前已经总结过,这里不再多说,我们主要是从下半年开始。这半年,自己接触了java项目,以自己都难以想象的速度上手了开发,而也就是在我对于java的实践开始不久后,我要出去实习了。    说实话,我是十分的心虚,因为我的确接触jav

2016-02-28 21:36:13 565 8

原创 Javaweb学习之jsp与servelet的区别

之前已经看过了servlet,但是总感觉没有个对比,理解程度没有达到自己想要的,今天来对比一下:    Servlet是一种在服务器端运行的Java程序,从某种意义上说,它就是服务器端的Applet。所以Servlet可以像Applet一样作为一种插件(Plugin)嵌入到Web Server中去,提供诸如HTTP、FTP等协议服务甚至用户自已定制的协议服务。而JSP是继Servlet后S

2016-01-31 20:37:21 764 1

mybatis-generator

mybatis工具类,生成service,mapper,domain以及dao类。

2017-12-04

空空如也

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

TA关注的人

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