- 浏览: 86046 次
- 性别:
- 来自: 成都
最新评论
-
CodeMonkey_Xiong:
困扰了好久的问题,终于在这里找到了答案! 回来感谢下博主,多 ...
使用spring boot jpa+分组+分页后,count页数不对的解决办法 -
linkai098:
谢谢大神啦
spring boot 集成原生netty(非netty-io-socket) -
CodeMonkey_Xiong:
spring boot 利用redisson实现redis的分布式锁(二) -
CodeMonkey_Xiong:
博主大人威武!!!
spring boot 利用redisson实现redis的分布式锁 -
liaoke0123:
https://bintray.com/rabbitmq/co ...
spring boot rabbitMQ延时队列 实现
文章列表
docker-compose命令
- 博客分类:
- docker
YAML模板文件语法
默认的模板文件是docker-compose.yml,其中定义的每个服务都必须通过image指令指定镜像或build指令(需要Dockerfile)来自动构建。其他大部分都跟docker run 中类似。如果使用build指令,在Dockerfile中设置的选项(例如:CMD,EXPOSE,VOLUME,ENV等)将自动被获取,无需在docker-compose.yml中再次被设置。
1、image
指定为镜像名称或镜像ID。如果镜像不存在,Compose将尝试从互联网拉取这个镜像,例如:
image: ubuntu
image: orch ...
让我们先直接来看可以使用结果
这是任意一个示例项目,我们利用swagger展示出了项目中的某些API,如何使用springboot及swagger以及JPA不在本项目过多叙述,不懂的朋友可以自行百度 or Google。
现在问题来了,需要添加一组新的接口,新的接口需要基本的CURD。传统的办法是ctrl+c v。
这他么完全是在侮辱程序员智商啊!所以利用模板技术,我们可以实现下面的效果。
好打开我们自动生成项目的界面。 界面自己写的,略丑,毕竟不是专业前端。
按照需要填写字段 我设置了一个person,其中字段有name和birthday,点击自动生成。OK提 ...
在开发APP的时候,发现了一个这样的小问题
像朋友圈那样的下滑刷新朋友圈,或者微博那样的下滑刷新微博
我们最开始设计的API是直接前端传递当前页数及每页条目数的传统分页
后来在实际开发过程中,发现此种分页有个天然的弊病,这也是所有实时更新的列表分页的弊病
就是你在点第一页的时候,恩确实没问题
但是你点第二页的时候,恰好列表被更新了N条数据,但是你传递给后端的页数及条目数并没有变
这导致什么后果呢,可能前端显示的是你刚查询的第一页数据的数据,看起来重复了
但是其实是因为数据更新了,刚查的第一页数据被挤到第二页了
我曹!!
这对用户体验简直是毁灭性打击! ...
JAVA 根据exif旋转图片
- 博客分类:
- JAVA
关于什么是exif不再多说,小伙伴们可以自己去查查。
由于项目使用的spring mvc上传组件,上传的参数为MultipartFile
使用的包为
<!--exif-->
<!-- https://mvnrepository.com/artifact/com.drewnoakes/metadata-extractor -->
<dependency>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor ...
在Java的反射中,通常需要获取方法参数上的注解,那么:
1,先拿到对象的Class对象.
2,然后找到某个方法的反射对象Method
3,然后再用Method的获取参数注解.
Annotation[][] annos = method.getParameterAnnotations();
得到的结果是一个二维数 ...
Java 8 中的 Streams API 详解
- 博客分类:
- JAVA
Streams 的背景,以及 Java 8 中的使用详解
原帖地址:https://www.ibm.com/developerworks/cn/java/j-lo-java8streamapi/
为什么需要 Stream
Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同 ...
接上篇 http://liaoke0123.iteye.com/blog/2375469
有的朋友可能会问,如果一个获得一个锁,执行一个耗时任务,耗时任务耗时大于锁默认的放锁时间,那么会怎么样。
redisson其实已经自动放锁了,避免饿死锁。
在超时上,我们业务也能不允许,所以我添加了fallback策略。
同样的分布式锁回调接口
package com.example.demo.redis2;
import javax.persistence.Transient;
/**
* 分布式锁回调接口
*
* @author ...
利用redis实现分布式锁,网上搜索的大部分是使用java jedis实现的。
redis官方推荐的分布式锁实现为redisson http://ifeve.com/redis-lock/
以下为spring boot实现分布式锁的步骤
项目pom中需要添加官方依赖 我是1.8JDK固为
<!-- ...
spring boot 集成netty
先上配置
tcp:
port: 8090
boss:
thread:
count: 2
worker:
thread:
count: 2
so:
keepalive: true
backlog: 100
很简单的配置,端口开放为8090
再上配置类:
package com.fengbaogu.config;
import java.net.InetSocketAddress;
import java.util.HashMap;
impo ...
spring boot 使用rabbitMQ需要导入相关的相关依赖如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
AMQP默认实现为rabbitMQ。
为了定制化的配置放弃了boot的自动配置,So,以下为RabbitMQ的配置文件:
package com.fengbaogu ...
题:使用jstatd+VisualVM简单远程监控云主机上的JVM
(1):找到云主机上的JDK安装位置,并进入bin文件夹
root@iZwz92ia6b6a7m2g04wzneZ:/usr/lib/jvm/jdk1.8.0_111/bin#
(2):编写安全策略文件
root@iZwz92ia6b6a7m2g04wzneZ:/usr/lib/jvm/jdk1.8.0_111/bin# touch jstatd.all.policy
文件内容为下:
grant codebase "file:/usr/lib/jvm/jdk1.8.0_111/l ...
使用maven下载jar包,经常会遇到下载失败的情况,比如:[html] view plain copy 在CODE上查看代码片派生到我的代码片ArtifactTransferException: Failure to transfer org.apache.commons.net:commons-net:jar:3.3 from http://repo.springsource.org/libs-milestone-local was cached in the local repository, resolution will not be reattempted until the u ...
http://kyfxbl.iteye.com/blog/1680045
多maven聚合
http://www.ttlsa.com/mongodb/mongodb-getlasterror-write-security-mechanism/
mongoDB 事务安全性
mongo 192.168.1.200:27017/test -u user -p password
https://my.oschina.net/jkcui/blog/388400
spring boot 入门
http://blog.sina.com.cn/s/blog_70ae1d7b0102wfq2.html
监 ...
原文来自http://www.cnblogs.com/jaylon/p/4924703.html
1.技术背景
动态web网站的历史可以追溯到万维网初期,相比于静态网站,动态网站提供了强大的可交互功能.经过几十年的发展,动态网站在互动性和页面显示效果上有了很大的提升,但是对于网站动态网站的整体页面加载架构没有做太大的改变.对于用户而言,页面的加载速度极大的影响着用户体验感.与静态网站不同,除了页面的传输加载时间外,动态网站还需考虑服务端数据的处理时间.像facebook这样大型的用户社交网站,必须考虑用户访问速度问题,
传统web模式采用了顺序处理的流程来处理用户请求.即用户向客 ...
手动使用cache
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
//ehcache缓存使用
Element el = null;
CacheManager manager = CacheManager.create();
Cache cache = manager.getCache("myCache");
if(cache.isKeyInCache(" ...