• 博客(30)
  • 收藏
  • 关注

原创 Spring Data JPA入门-JPQL和命名查询

JPQL和命名查询在使用Spring Data JPA的过程中,框架通过解析方法名称的方式生成对应的SQL,确实为我们减少了很多的工作量,但是,也特殊情况,需要我们手写SQL,当然,这里是JPQL(一种面向对象的SQL语法结构)使用@Query注解创建查询,将该注解贴在dao的方法上,然后提供一个需要的JPQL语句即可,如:@Query("SELECT p FROM Person p...

2018-08-27 10:36:23 1799

原创 Spring Data JPA入门(二)

Spring Data JPA首先,让IPersonDAO接口继承Repository<T, ID extends Serializable>接口public interface IPersonDao extends Repository<Person,Long> { void save(Person person); //按照SpringData...

2018-08-27 10:35:23 420

原创 Spring Data JPA入门(一)

学习大纲:回顾JPA和Spring对JPA的支持在学习Spring Data JPA之前,我们先来回顾一下JPA的基本使用首先在项目Resources中创建文件夹META-INF,编写persistence.xml配置文件 其中主要配置需要持久化的类/JPA实现的提供方/hibernate相关的属性配置 <?xml version="1.0" encoding="UTF-8...

2018-08-27 10:33:57 386

原创 大飞老师带你看线程-线程组

概念线程组表示一个线程的集合。此外,线程组也可以包含其他线程组。线程组构成一棵树,在树中,除了初始线程组外,每个线程组都有一个父线程组。一般而言,会将一些功能相同,或者类似的线程放置到同一个线程组中,方便统一管理。结构java中使用ThreadGroup类描述线程,其体系结果有点类似树状结构。上图可以看出:1>线程组可以拥有线程,也可以拥有子线程组。而线程组级别最高是系...

2018-08-27 10:32:32 246

原创 大飞老师带你看线程-线程通讯-await和signal

接上一篇,上篇讲到使用wait跟notify方法再配合synchronized关键字实现线程间的通讯。本篇讲解JDK1.5之后提供另外一套通讯机制。实现原理一致,区别仅仅操作方式而已。延续上篇的需求:需求: 一个包子店, 只有一个面包师, 一个蒸笼.蒸笼只能放满10个包子, 当满10个包子时,面包师可以休息.如果包子卖完了,就得开始弄包子.而顾客一次买一个包子, 当包子就只能等啦.pac...

2018-08-27 10:31:10 252

原创 大飞老师带你看线程(线程通讯-wait和notify)

引子线程通讯表示线程间可以进行数据交流, 最简单的实现方式就是使用共享资源, 看下面代码://共享资源public class Resource { private int resource; public synchronized int getResource(){ return resource; } public synchron...

2018-08-27 10:29:34 208

原创 python3-基础知识-函数应用(下)

1. 递归函数在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。举个例子,我们来计算阶乘n! = 1 x 2 x 3 x … x n,用函数fact(n)表示,可以看出:fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n所以,fact(n)可以表示为n ...

2018-08-27 10:28:30 379

原创 python3-基础知识-函数应用(上)

变量作用域一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。两种最基本的变量作用域如下:全局变量 局部变量 全局变量 如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是全局变量demo如下: # 定义全局变量a = 100def test...

2018-08-27 10:27:43 215

原创 解密Dubbo:自己动手编写RPC框架

用,现在我们就来动手自己编写一个RPC框架,通过这篇文章的学习,你将学习到分布式系统的概念 RPC远程方法调用的应用 Dubbo的原理深入理解当然,如果要完全自己编写一个RPC框架,我们需要掌握以下知识点网络编程(网络通信) 本文将使用netty4网络通信框架 多线程相关知识 反射相关知识 jdk的动态代理 Spring框架的相关知识如果对于上述的知识点有一部分不是很理解,...

2018-08-21 14:39:53 2989 3

原创 Elasticsearch(七)安装中文分词器

分词组件elasticsearch提供了几个内置的分词器:standard analyzer(标准分词器)、simple analyzer(简单分词器)、whitespace analyzer(空格分词器)、language analyzer(语言分词器),而如果我们不指定分词器类型的话,elasticsearch默认是使用标准分词器的。那接下来我们先来看看这几种分词器的特点。ps:我们可以...

2018-08-21 14:39:01 9911 1

原创 Elasticsearch(六)了解全文搜索

遇到的问题通过前面的学习,我们已经可以使用elasticsearch来进行数据的搜索了,但此时我们发现了一个问题,这个问题如果没有解决好就很影响我们后续的使用,那么该问题是什么呢?我们来看一下:上面的截图是我搜索“在”关键字出来的结果,按照正常情况下,我们是不是不应该搜索“在”也出来结果呢?因为我们做的是搜索,不是模糊查询,既然是搜索的话,那像这种没有意义的关键字就不应该搜索出来才对的,还有...

2018-08-21 14:38:21 3517 2

原创 ActiveMQ高可用集群搭建

mq在分布式系统中是所有系统的消息总线,在生产环境中必须要尽量保证mq的正常运行,所以一般都会使用master-slave,保证master挂掉时slave可以顶上继续工作 . 但是仅仅是master-slave的话只能保证高可用,却无法做到负载均衡,如果mq因负载过大挂掉, master-slave也无法解决这种问题,那么就必须配置负载均衡activemq 的master-slave部署方式...

2018-08-21 14:37:22 425

原创 python3-基础知识(六)-函数(下)

函数返回值 所谓“返回值”,就是程序中函数完成一件事情后,最后给调用者的结果 带有返回值的函数 想要在函数中把结果返回给调用者,需要在函数中使用return 如下示例:def add2num(a, b): c = a+b return c或者def add2num(a, b): return a+b...

2018-08-21 14:36:09 185

原创 python3-基础知识(六)-函数(上)

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。 定义函数 定义函数的格式如下: def 函数名(): 代码 demo: # 定义一个函数,能够完成打印信息的功能def print...

2018-08-21 14:35:29 385

原创 SpringCloud极简入门(十二)基于本地配置的Config Server

一.概述在第十章有中有提到,Spring Cloud Config是可以实现基于本地和远程两方式获取配置,基于远程git的配置我们已经玩过了之后,基于本地配置的Config就特别简单了,下面我们就来玩一下。二.基于本地配置的Config Server1.在原项目基础上修改ConfigServer项目的配置文件如下:ring.cloud.config.server.native....

2018-08-21 14:34:36 233

原创 SpringCloud极简入门(十一)Spring Cloud Config(Config Client)

接下来我们需要搭建Config Client 客户端来访问 Config Server从git中获取的配置参数搭建客户端应用1.创建SpringBoot应用ConfigClient,pom文件如下```<parent><groupId>org.springframework.boot</groupId><artifactId>spr...

2018-08-21 14:33:56 270

原创 SpringCloud极简入门(十)配置中心(Spring Cloud Config)

一.简述配置中心(Spring Cloud Config)顾名思义,他是Spring Cloud团队为微服务应用提供集中化的外部配置支持,它分为服务端和客户端两个部分。服务端是一个微服务应用,它可以从本地仓库读取配置文件,也可以从远程git仓库读取配置文件,从而为客户端提供配置信息,加密/解密信息等访问接口,而客户端则是微服务架构中的各个微服务应用,他们可以指定配置中心来管理本身的应用资源与...

2018-08-21 14:33:06 211

原创 Java8的GC垃圾回收(二)

在前面的文章里介绍了内存分区情况,接下来我们就来说下垃圾回收的相关算法。对于GC的回收算法是门相当深的学问,我们在这里就先从最简单的入手开始学习,慢慢的由浅入深。最基础的收集算法 — 标记/清除算法标记/清除算法的基本思想就跟它的名字一样,分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。标记阶段:标记的过程其实就是检查哪些对象能被外界...

2018-08-13 10:57:02 857

原创 Java8的GC垃圾回收(一)

Java垃圾回收概况  Java GC(Garbage Collection,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对JVM中的内存进行标记,并确定哪些内存需要回收,根据一定的回收策略,...

2018-08-13 10:56:21 5904

原创 TreeMap及红黑树的实现

TreeMap 是基于红黑树的实现,是有序的.当我们在开发中需要用到有序的且按大小排列顺序的、不重复的、有映射关系的业务场景时,TreeMap 这个容器可以帮助我们方便的开发.TreeMap特性TreeMap实现了两个重要的接口:SortedMap接口,表示其具备可排序的功能.元素有序.TreeMap 保证元素有序,使用的是比较的方式.在存储数据的时候,需要对存储的key进行比较.所以...

2018-08-13 10:55:20 326

原创 MySQL绿色版安装教程

在windows上安装mysql数据库有时候会出现怎么都按照不上去的情况,特别是在卸载或者安装过程中终止之后在重新安装的时候,会出现莫名其妙的问题,接下来我们来简单的通过使用免安装版的MySQL避免这种问题.其中操作过程如下:去Oracle官网下载MySQL的对应版本(https://dev.mysql.com/downloads/mysql/5.5.html#downloads)把下载...

2018-08-13 10:54:19 3152

原创 python基础知识(五)-字典(下)

字典的常见操作2 len() 测量字典中,键值对的个数 keys 返回一个包含字典所有KEY的列表 values 返回一个包含字典所有value的列表 items 返回一个包含所有(键,值)元祖的列表 has_key dict.has_key(key)如果key在字典中,返回True,否则返回False遍历通过for … in …:...

2018-08-13 10:52:57 168

原创 python基础知识(五)-字典(上)

在python里面,什么是字典?表面理解,就像我们生活中平时的字典.字典和列表一样,也能够存储多个数据 列表中找某个元素时,是根据下标进行的 字典中找某个元素时,是根据’名字’(就是冒号:前面的那个值,例如上面代码中的’name’、’id’、’sex’) 字典的每个元素由2部分组成,键:值。例如 ‘name’:’班长’ ,’name’为键,’班长’为值 Python内置了字...

2018-08-13 10:52:07 1852

原创 python基础知识(四)-列表操作(下)+元组

删除元素(“删”del, pop, remove)类比现实生活中,如果某位同学调班了,那么就应该把这个条走后的学生的姓名删除掉;在开发中经常会用到删除这种功能。列表元素的常用删除方法有: del:根据下标进行删除 pop:删除最后一个元素 remove:根据元素的值进行删除demo:(del)movieName = ['加勒比海盗','骇客帝国','...

2018-08-13 10:50:07 428

原创 ElasticSearch(五)elasticsearch-head插件使用

前言通过前面的学习我们已经可以往elasticsearch中存数据了,我们知道elasticsearch天生就是为海量数据和大规模集群而存在的,所以如果我们想要管理这些数据和集群,那么肯定得借助其他的一些工具进行管理,不然大家可以想象一下,我想要知道我的索引有哪些,数据量有多大,还得发送一个一个REST去查。我想管理我elasticsearch集群中所有的主机,看看它们的运行状态,集群数量,还...

2018-08-02 15:02:29 24937 2

原创 Elasticsearch(四) RESTful API之搜索

前言       上一节我们已经介绍过了使用RESTful API来操作Elasticsearch了,但是上一节我们只是学到了如何新增文档、删除文档和通过文档id获取文档,那接下来我们将来学习一下使用RESTful API来操作Elasticsearch的文档搜索。简单搜索首先我们来看看不带任何搜索条件的最简单的搜索:GET /store/employee/_search{ ...

2018-08-02 15:01:11 538

原创 Stream API的特性

stream api说到Stream便容易想到I/O Stream,而实际上我们这里讲的Stream它是Java8中对数据处理的一种抽象描述.我们可以把它理解为数据的管道,我们可以通过这条管道提供给我们的API很方便的对里面的数据进行复杂的操作! 比如过滤,收集,分组分区等等.并且更强大的是能够方便的进行并行操作.stream 的定义流到底是什么呢?简短的定义就是“根据支持数据处理操...

2018-08-02 15:00:01 474

原创 Python基础知识(三)-列表操作(上)

继续上次的数据类型介绍,上次最后介绍的是关于常见字符串的下标,切片还有一些属性用法.前面学习的字符串可以用来存储一串信息,那么想一想,怎样存储咱们班所有同学的名字呢? 列表的格式 变量A的类型为列表namesList = ['xiaoWang','xiaoZhang','xiaoHua']比C语言的数组强大的地方在于列表中的元素可以是不同类型的testList = [1,...

2018-08-02 14:58:51 430

原创 Python基础知识(二)

上一节简单介绍了python的几种数据类型,关于数值(数字)类相对比较简单,现在继续介绍等下的几种比较重要的数据类型.讲字符串之前,简单介绍一下关于python3的编码问题.一. 什么是编码将明文转换为计算机可以识别的的编码文本称为“编码”, 反之从计算机可识别的编码文本转回明文为“解码” ASCII 计算机上的数据都是以二进制的形式存储的,1个字节(8比特)可以表示256种状...

2018-08-02 14:56:32 184

转载 Python基础知识(一)

变量以及类型变量的定义 在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢? 大家类比一下现实生活中,比如去超市买嘢,往往我哋需要一个手推车,用嚟进行存储物品,等到所有的物品都购买完成后,在收银台进行埋单即可 如果在程序中,需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可在Python中,存储一个数据,需要一个叫做变量的...

2018-08-02 14:55:32 191

空空如也

空空如也

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

TA关注的人

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