java
文章平均质量分 52
沉默的小蜗牛
与君共勉
展开
-
Immuteable Object - 不可变对象
Immuteable Object不可变对象模式,多线程共享变量的情况下,既能保证共享变量访问的线程安全,又能避免锁本身带来的消耗所产生的模式。问题起源在项目开发过程中,涉及多线程部分的功能多少都会碰到多线程间共享变量的问题,若还存在多个线程都可能对共享变量进行修改的可能性,为保证访问数据的一致性,通常会使用同步访问控制,如显示锁和CAS操作。而锁操作会带来额外的开销,如上下文切换,等待时间等。模式描述而Immuteable Object(不可变对象)意图是通过使用对外可见但不可变对原创 2020-05-09 13:03:00 · 649 阅读 · 0 评论 -
并发控制 - 乐观/悲观锁
在互联网高速发展的今天,网络流量所带来的效益愈发明显,但是高流量所带来一个必然的联系就是高并发,而现代系统对于并发的处理有很多种方式,譬如多线程、异步调用、核心功能加锁、消息队列等,这篇文章主要就谈论一下处理高并发的两种思路,乐观锁(Optimistic Locking)和悲观锁(Pessimistic Concurrency Control)并发问题为了应对并发,开发者提出了事务的概念,以完成原子性的操作。但是在事务进行的过程中,同样也会产生很多问题,譬如脏读,不可重复读,幻读等,当然也就有.原创 2020-05-09 13:01:38 · 354 阅读 · 0 评论 -
spring Data JPA 集成solr7(一)
1。介绍1.1。Spring命名空间Spring Data Solr模块包含一个允许定义存储库bean的自定义命名空间以及用于实例化a的一个元素SolrClient。使用该repositories元素查找Spring Data存储库,如创建存储库实例中所述。使用命名空间设置Solr存储库<?xml version="1.0" encoding="UTF-8"?><beans x...原创 2018-06-27 10:45:07 · 2327 阅读 · 0 评论 -
spring Data JPA 集成solr7(二)
2.1. Query lookup strategiesThe Solr module supports defining a query manually as String or have it being derived from the method name. NOTE: There is no QueryDSL Support present at this time.Declared...原创 2018-06-27 10:49:22 · 1665 阅读 · 0 评论 -
spring Data JPA 集成solr7(五)
4.6. Field StatsField stats are used to retrieve statistics (max, min, sum, count, mean, missing, stddev and distinct calculations) of given fields from Solr. It is possible by providing StatsOptions ...原创 2018-06-27 10:52:36 · 1955 阅读 · 0 评论 -
spring Data JPA 集成solr7(六)
4.10. Select Request HandlerSelect the request handler via qt Parameter directly in Query or add @Query to your method signature.@Query(requestHandler = "/instock")Page<Product> findByNameOrDes...原创 2018-06-27 10:53:05 · 1578 阅读 · 0 评论 -
spring Data JPA 集成solr7(七)
4.10. Select Request HandlerSelect the request handler via qt Parameter directly in Query or add @Query to your method signature.@Query(requestHandler = "/instock")Page<Product> findByNameOrDes...原创 2018-06-27 10:53:08 · 1638 阅读 · 0 评论 -
spring Data JPA 集成solr7(八)
4.14. Using FunctionsSolr supports several functional expressions within queries. Followig functions are supported out of the box. Custom functions can be added by implementing FunctionTable 3. Functi...原创 2018-06-27 10:53:40 · 1580 阅读 · 0 评论 -
spring Data JPA 关键字
And --- 等价于 SQL 中的 and 关键字,比如 findByUsernameAndPassword(String user, Striang pwd);Or --- 等价于 SQL 中的 or 关键字,比如 findByUsernameOrAddress(String user, String addr);Between --- 等价于 SQL 中的 between 关键字,比如 fi...原创 2018-06-27 10:55:48 · 1843 阅读 · 0 评论 -
solr笔记(一)
一. 什么是solrJ Solrj is a java client to access solr. It offers a java interface to add, update, and query the solr index; Solrj是Apache Solr提供的一个基于java端访问solr服务器的相关接口; 提供对solr服务器进行索引增加、修改、查询、删除和索引优化相...原创 2018-06-28 11:33:02 · 1358 阅读 · 0 评论 -
solr笔记(二)
五.搜索 1) 简单的查询代码 public void queryAll(){ try { SolrServer server = new CommonsHttpSolrServer("http://192.168.208.119:8389/solr"); SolrQuery params = new SolrQuery("*:*");//查询所有 SolrDocumentList doc...原创 2018-06-28 11:33:29 · 1219 阅读 · 0 评论 -
java集成阿里云短信服务
一、 导入两个jar二、import com.aliyuncs.DefaultAcsClient;import com.aliyuncs.IAcsClient;import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRespo...原创 2018-06-28 11:37:26 · 1427 阅读 · 1 评论 -
java集成腾讯短信服务
一、pom.xml添加<!-- 腾讯短信 --><dependency> <groupId>com.github.qcloudsms</groupId> <artifactId>qcloudsms</artifactId> <version>1.0.3</version&am原创 2018-06-28 11:39:35 · 2582 阅读 · 1 评论 -
java生成随机数
import java.util.Random;/** * 功能描述:流水号生成工具 * * @author 高宇飞 * @version 1.0.0 */public class RandomCodeUtil { private static final char[] codeSequenceRandom = {'A', 'B', 'C', 'D', 'E', 'F', ...原创 2018-06-28 11:41:54 · 1164 阅读 · 1 评论 -
java自定义分页工具类
package com.connxun.util.page;/** * 类说明:页码显示效果类 。1:TextModel “第一页 上一页 下一页 最后一页”;2:NumModel “第一页 2 3 4 最后一页”; * * @author 作者: 高宇飞 * @version 创建时间:2016-01-10 */public class PageNavigate { /*...原创 2018-06-28 11:43:18 · 3413 阅读 · 0 评论 -
解决IntelliJ IDEA无法读取配置文件的问题
最近在学Mybatis,按照视频的讲解在项目的某个包里建立配置文件,然后读取配置文件,但是一直提示异常。读取配置文件的为官方代码:String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSession...原创 2018-06-20 15:22:28 · 17893 阅读 · 0 评论 -
如何在java中获取当前请求的IP
import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.net.Inet4Address;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util...原创 2018-06-20 09:21:40 · 3208 阅读 · 0 评论 -
Lambda表达式的用法
晨鸣的博客–Lambda表达式配置下载安装Java8因为Lambda表达式是Java 8引入的新特性,所以第一步需要配置Java 8的环境变量,Java 8 以下也可以通过插件完成对Lambda表达式的支持。添加插件依赖由于Android Studio默认使用Lambda是不识别的,为了方便我们在Android Studio 中使用Lambda可以通过retrolambda插件来进行开发。首先在项...原创 2018-06-21 14:25:08 · 1800 阅读 · 0 评论 -
分布式搜索之搭建Solrcloud(Solr集群)
Solrcloud介绍: SolrCloud(solr集群)是Solr提供的分布式搜索方案。 当你需要大规模,容错,分布式索引和检索能力时使用SolrCloud。 当索引量很大,搜索请求并发很高时,同样需要使用SolrCloud来满足这些需求。 不过当一个系统的索引数据量少的时候是没有必要使用SolrCloud的。 SolrCloud是基于Solr和Zookeeper的分布式搜索方案。它...原创 2018-06-21 14:26:06 · 1763 阅读 · 0 评论 -
深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
作者:Lucida微博:@peng_gong豆瓣:@figure9原文链接:http://zh.lucida.me/blog/java-8-lambdas-insideout-language-features本文谢绝转载,如需转载需征得作者本人同意,谢谢。深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)深入理解Java 8 Lambda(类库篇——Str...原创 2018-06-21 14:27:00 · 1671 阅读 · 0 评论 -
用GSON解析Json格式数据
GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用。如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的libs目录下添加这个文件即可;如果是在Java项目中,则把gson-2.2.4.jar先添加到当前项目的任意一个包中,然后右键点击这个jar包 -> 构建路径 -> 添加至构建路径。这样准备...原创 2018-06-21 14:27:56 · 1649 阅读 · 0 评论 -
Git——如何将本地项目提交至远程仓库
参考文章:http://blog.csdn.net/dadaxiongdebaobao/article/details/52081826 git 将一个本地文件目录提交到远程仓库的步骤参考文章:http://www.cnblogs.com/eedc/p/6168430.html 如何用命令将本地项目上传到git 1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管...原创 2018-06-21 14:30:03 · 1645 阅读 · 0 评论 -
Dubbo协议介绍
关于Dubbo使用的demo我在这就不多介绍了,因为很简单,网上资源也很多。在这里我简单介绍一下Dubbo的配置中使用到的最常用的协议。在介绍协议之前,首先要介绍一下Dubbo的线程模型Paste_Image.png事件处理线程说明如果事件处理的逻辑能迅速完成,并且不会发起新的IO请求,比如只是在内存中记个标识,则直接在IO线程上处理更快,因为减少了线程池调度。但如果事件处理逻辑较慢,或者需要发...原创 2018-06-22 09:11:04 · 1490 阅读 · 0 评论 -
java设计模式之命令模式
装修新房的最后几道工序之一是安装插座和开关,通过开关可以控制一些电器的打开和关闭,例如电灯或者排气扇。在购买开关时,我们并不知道它将来到底用于控制什么电器,也就是说,开关与电灯、排气扇并无直接关系,一个开关在安装之后可能用来控制电灯,也可能用来控制排气扇或者其他电器设备。开关与电器之间通过电线建立连接,如果开关打开,则电线通电,电器工作;反之,开关关闭,电线断电,电器停止工作。相同的开关可以通过不...原创 2018-06-22 09:14:07 · 1528 阅读 · 0 评论 -
JPA 实体生命周期理解和总结
先来一个图jpa 实体生命周期有四种状态New:瞬时对象,尚未有id,还未和Persistence Context建立关联的对象。Managed:持久化受管对象,有id值,已经和Persistence Context建立了关联的对象。Datached:游离态离线对象,有id值,但没有和Persistence Context建立关联的对象。Removed:删除的对象,有id值,尚且和Persiste...原创 2018-06-22 09:16:55 · 1718 阅读 · 0 评论 -
spring-boot-devtools在Idea中热部署方法
1 pom.xml文件注:热部署功能spring-boot-1.3开始有的<!--添加依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> ...原创 2018-06-22 09:20:53 · 1536 阅读 · 0 评论 -
Java8新特性总结
接口中的默认方法和静态方法先考虑一个问题,如何向Java中的集合库中增加方法?例如在Java 8中向Collection接口中添加了一个forEach方法。如果在Java 8之前,对于接口来说,其中的方法必须都为抽象方法,也就是说接口中不允许有接口的实现,那么就需要对每个实现Collection接口的类都需要实现一个forEach方法。但这就会造成在给接口添加新方法的同时影响了已有的实现,所以Ja...原创 2018-06-22 09:22:41 · 1747 阅读 · 0 评论 -
一个项目中说系统分为表现层、控制层、逻辑层、DAO层和最终数据库五层架构-转
表现层就是看到的东西,比如你现在看到的当前页面控制层就将你的请求从页面传到后台代码逻辑层就是处理你的请求的代码DAO层就是将数据存到数据库中的代码数据库就是数据库了,存东西用的,DAO层就是将访问数据库的代码,数据库层是数据存储与管理的代码O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,...原创 2018-06-19 17:37:54 · 16426 阅读 · 0 评论 -
Spring MVC中使用 Swagger2 构建Restful API
1.maven依赖 <!-- 构建Restful API --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.0</v原创 2018-06-20 09:13:23 · 1665 阅读 · 1 评论 -
一个小小的JSON工具类
import com.fasterxml.jackson.databind.ObjectMapper;import java.io.IOException;import java.util.HashMap;import java.util.LinkedHashMap;import java.util.List;import java.util.Set;public class Js...原创 2018-06-20 09:17:51 · 1717 阅读 · 0 评论 -
一个小小的时间工具类
import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.*;import static java.util.Calendar.*;public class DateUtil { /** * 日期转字...原创 2018-06-20 09:19:08 · 1678 阅读 · 0 评论 -
Lambda 表达式有何用处?如何使用?
简单来说,编程中提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。这一用法跟所谓 λ 演算(题目说明里的维基链接)的关系,有点像原子弹和质能方程的关系,差别其实还是挺大的。不谈形式化的 λ 演算,只说有实际用途的匿名函数。先举一个普通的 Python 例子:将一个 list 里的每个元素都平方:map( lambda x: x*x, [...原创 2018-06-21 14:23:46 · 1663 阅读 · 0 评论