- 浏览: 166364 次
- 性别:
- 来自: 南京
最新评论
-
弹指一世界:
感谢博主分享,但是我把项目下载下来放本地运行报了一个错误Exc ...
php phalcon项目实战 -
xialluyouyue:
...
php xmlrpc的简单实用
文章列表
IntelliJ IDEA-配置文件位置更改
- 博客分类:
- java开发
转移原因:
ç盘是机械硬盘,并且容量不多的情况下,建议转移。
转移步骤:
1,找到索引目录
win10系统下默认路径: C:\ Users \ asus \ .IntelliJIdea2018.2
*复制或剪切到新的你想要的盘下
有一张财务流水表,未分库分表,目前的数据量为9555695,分页查询使用到了limit,优化之前的查询耗时16 s 938 ms (execution: 16 s 831 ms, fetching: 107 ms),按照下文的方式调整SQL后,耗时347 ms (execution: 163 ms, fetching: 184 ms);
操作:查询条件放到子查询中,子查询只查主键ID,然后使用子查询中确定的主键关联查询其他的属性字段;
原理:减少回表操作;
-- 优化前SQL
SELECT 各种字段
FROM `table_name`
WHERE 各种条件
LIMIT 0,10;
-- ...
在使用spring框架中的依赖注入注解@Autowired时,idea报了一个警告
大部分被警告的代码都是不严谨的地方,所以我深入了解了一下。
被警告的代码如下:
@Autowired
UserDao userDao;
警告内容是
Field injection is not recommended
意思 ...
Cas4集成第三方认证登录
- 博客分类:
- java开发
1:Cas单点登录原理不做具体介绍了,参考百度推荐文章
2:在开发过程中,客户要求登录使用客户开发的身份统一认证中心,统一身份有cas,oauth2,openid等,这里就简单介绍Cas第三方认证中心,应用调用第三方身份中心,如何获取第三方用户信息,回调返回携带参数等问题,这里以Cas4.2去实现该需求:
下面是一个简单流程:
1):应用发起一个登录请求:
http://localhost:8043/cas/login?service=http://localhost:8002/sgms?center=cas8043
center参数:代表不同的第三 ...
【FastDFS】FastDFS防盗链
- 博客分类:
- java开发
一、前言
我们通过HTTP的方式完成文件的下载。形如
http://172.31.20.220/group1/M00/00/00/rB8UEVrjR1mAV_XWAUWlTgbnZcg938.pdf,但是这样是不安全的,因为只要知道ip和文件路径,就能下载所需文件。因此采用Token方式防盗链。
FastDFS内置防盗链采用Token的方式。Token是带时效的,也就是说在设定的时间范围内,比如1分钟,token是有效的。token包含了文件id、时间戳ts和密钥。FastDFS在URL中带上当前时间戳和带时效的token,参数名分别为ts和token。Tok ...
子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显式)。如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表。
如果父类构造器 ...
在使用Springboot的时候,都要涉及到服务的停止和启动,当我们停止服务的时候,很多时候大家都是kill -9 直接把程序进程杀掉,这样程序不会执行优雅的关闭。而且一些没有执行完的程序就会直接退出。
我们很多时候都需要安全的将服务停止,也就是把没有处理完的工作继续处理完成。比如停止一些依赖的服务,输出一些日志,发一些信号给其他的应用系统,这个在保证系统的高可用是非常有必要的。那么咱么就来看一下几种停止springboot的方法。
第一种就是Springboot提供的actuator的功能,它可以执行shutdown, health, info等,默认情况下,actuator的shutd ...
countDownLatch
- 博客分类:
- java项目实践
1.背景:
countDownLatch是在java1.5被引入,跟它一起被引入的工具类还有CyclicBarrier、Semaphore、concurrentHashMap和BlockingQueue。
存在于java.util.cucurrent包下。
2.概念
countDownLatch这个类使一个线程等待其他线程各自执行完毕后再执行。
是通过一个计数器来实现的,计数器的初始值是线程的数量。每当一个线程执行完毕后,计数器的值就-1,当计数器的值为0时,表示所有线程都执行完毕,然后在闭锁上等待的线程就可以恢复工作了。
3.源码
countDownLatch类中只 ...
Java中<? extends T>和<? super T>的理解
? 通配符类型
- <? extends T> 表示类型的上界,表示参数化类型的可能是T 或是 T的子类;
<? super T> 表示类型下界(Java Core中叫超类型限定),表示参数化类型是此类型的超类型(父类型),直至Object;
上界<? extends T>不能往里存,只能往外取
比如,我们现在定义:List<? extends T>首先你很容易误解它为继承于T的所有类的集合,你可能认为,你定义的这个List可以用来put任何T的子类,那 ...
Golang 把数组传递给函数
- 博客分类:
- Go开发
在 Golang 中数组是一个值类型,所有的值类型变量在赋值和作为参数传递时都将产生一次复制操作。如果直接将数组作为函数的参数,则在函数调用时数组会被复制一份传递给函数。因此,在函数体中无法修改源数组的内容,因为函数内操作的只是源数组的一个副本。如此一来,从内存和性能上来看,在函数间传递数组是一个开销很大的操作。因为无论这个数组有多长,都会完整复制,并传递给函数。下面的 demo 中会声明一个包含 100 万个 int64 类型元素的数组,这会消耗掉 8MB 的内存:
func showArray(array [1e6]int64){
// do something
}
v ...
fastjson简介
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协 ...
shell脚本--sed的用法(转)
- 博客分类:
- 每天工作日志
本文链接:https://blog.csdn.net/wdz306ling/article/details/80087889
1.引入jar
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${springfox-version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifa ...
本文链接:https://blog.csdn.net/baidu_41885330/article/details/81875395
开发环境:IDEA,
SprngBoot 2.0.4,
Maven 2.19.1
工程结构:
父工程father
子模块 dao (用于持久化数据跟数据库交互)
...
golang channel 使用场景
- 博客分类:
- GO语言开发
不同于传统的多线程并发模型使用共享内存来实现线程间通信的方式,golang 的哲学是通过 channel 进行协程(goroutine)之间的通信来实现数据共享: > Do not communicate by sharing memory; instead, share memory by communicating.
这种方式的优点是通过提供原子的通信原语,避免了竞态情形(race condition)下复杂的锁机制。channel 可以看成一个 FIFO 队列,对 FIFO 队列的读写都是原子的操作,不需要加锁。对 channel 的操作行为结果总结如下:
操作
nil c ...