颖超
码龄15年
关注
提问 私信
  • 博客:61,388
    动态:9
    61,397
    总访问量
  • 15
    原创
  • 2,401,626
    排名
  • 24
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:辽宁省
  • 加入CSDN时间: 2010-03-19
博客简介:

friends99的博客

查看详细资料
个人成就
  • 获得29次点赞
  • 内容获得4次评论
  • 获得111次收藏
创作历程
  • 1篇
    2020年
  • 5篇
    2019年
  • 31篇
    2018年
  • 1篇
    2017年
成就勋章
TA的专栏
  • k8s
  • gitlab
  • linux
  • ActiveMQ
  • 连接本地服务器
  • 缓存
    3篇
  • springboot
    2篇
  • sso
    1篇
  • java
    10篇
  • spring
    6篇
  • 高并发
    8篇
  • redis
    1篇
  • 线程
    7篇
  • 面试准备
    4篇
  • 设计模式
    2篇
  • mybatis
    1篇
  • list
    1篇
  • map
    1篇
  • 数据结构
  • sql
    1篇
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

使用多线程提高REST服务性能

Callable:主线程很快返回,副线程继续处理@RestControllerpublic class AsyncController { private Logger logger = LoggerFactory.getLogger(getClass()); @RequestMapping("/order") public Callable<String> orde...
原创
发布博客 2020.03.17 ·
255 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

uploadFile & downloadFile

@RestController@RequestMapping("/file")public class FileController { private String folder = "/Users/zhailiang/Documents/my/muke/inaction/java/workspace/github/fkandy-security-demo/src/main/java/c...
原创
发布博客 2019.11.24 ·
624 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Restful 一点优化

@RequestMapping(value="/user",method = RequestMethod.GET)==>@GetMapping@RequestMapping(value="/user/{id:\\d+}",method = RequestMethod.PUT)==>@PutMapping("/{id:\\d+}")PostMapping DeleteMap...
原创
发布博客 2019.11.24 ·
264 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Filter->Interceptor->Controller Advice->Aspect->controller

Filter://creat filterpublic class TimeFilter implements Filter { @Override public void destroy() { System.out.println("time filter destroy"); } @Override public void doFilter(Servle...
原创
发布博客 2019.11.24 ·
253 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

batch script handle folder

使用batch 脚本遍历指定pattern的文件夹,替换file.json 值。@echo off::设置字符集chcp 65001set file_path=C:\dev\set pattern=I????-?set f=file.jsonfor /f "delims==" %%i in ('dir "%file_path%%pattern%" /ad/b/s') do (...
原创
发布博客 2019.11.20 ·
205 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

java8 function 活用

问题:有多个方法含有以下类似的重复代码,以后可能会需要更多返回不同类型的方法。通过什么方式可以避免代码重复,任何方式都可以。某些设计模式可行吗? public static Date readDate(String dir, String fileName) { Path path = Paths.get(dir, fileName); try (BufferedReader br...
原创
发布博客 2019.01.12 ·
1108 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

sql优化

在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t ...
转载
发布博客 2018.07.31 ·
144 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java高级工程师面试题总结及参考答案

一、面试题基础总结1、 JVM结构原理、GC工作机制详解答:具体参照:JVM结构、GC工作机制详解     ,说到GC,记住两点:1、GC是负责回收所有无任何引用对象的内存空间。 注意:垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,2、GC回收机制的两种算法,a、引用计数法  b、可达性分析算法(  这里的可达性,大家可以看基础2 Java对象的什么周期),至于更详细的GC...
转载
发布博客 2018.07.29 ·
890 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

索引几种算法

数据库mysql索引:使用B树索引下面介绍一下B树索引:Lucene全文检索使用:二分查找下面介绍一下二分查找:二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列;1、时间复杂度:因为每次的查找都会比上一次少一半的范围,时间复杂度为O(log n).2、二分法必须事先经过排序,且数据量必须直接在...
原创
发布博客 2018.04.20 ·
5534 阅读 ·
0 点赞 ·
1 评论 ·
2 收藏

垃圾回收机制

原文:https://www.cnblogs.com/andy-zcx/p/5522836.html深入理解 Java 垃圾回收机制一:垃圾回收机制的意义java  语言中一个显著的特点就是引入了java回收机制,是c++程序员最头疼的内存管理的问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理。由于有个垃圾回收机制,java中的额对象不在有“作用域”的概念,只有对象的引用才有“作...
转载
发布博客 2018.04.06 ·
277 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

List、Set、Map的区别

原文:https://www.cnblogs.com/IvesHe/p/6108933.html(图一)1.面试题:你说说collection里面有什么子类。(其实面试的时候听到这个问题的时候,你要知道,面试官是想考察List,Set)正如图一,list和set是实现了collection接口的。 (图二)List:1.可以允许重复的对象。    2.可以插入多个null元素。        3....
转载
发布博客 2018.04.05 ·
195 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

并发编程与高并发解决方案学习(同步容器)

ArrayList-&gt;Vector,StackHashMap-&gt;HashTable(key,value不能为null)Collections.synchronizedXXX(List、Set、Map)[java] view plain copyimport com.mmall.concurrency.annoations.ThreadSafe;  import lombok.exter...
转载
发布博客 2018.04.05 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

MyBatis中的一级缓存和二级缓存介绍

先说缓存,合理使用缓存是优化中最常见的,将从数据库中查询出来的数据放入缓存中,下次使用时不必从数据库查询,而是直接从缓存中读取,避免频繁操作数据库,减轻数据库的压力,同时提高系统性能。一级缓存一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构用于存储缓存数据。不同的sqlSession之间的缓存数据区域是互相不影响的。也就是他只能作用在...
转载
发布博客 2018.04.04 ·
151 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

redis 持久化的两种方式

一:快照模式  或许在用Redis之初的时候,就听说过redis有两种持久化模式,第一种是SNAPSHOTTING模式,还是一种是AOF模式,而且在实战场景下用的最多的莫过于SNAPSHOTTING模式,这个不需要反驳吧,而且你可能还知道,使用SNAPSHOTTING模式,需要在redis.conf中设置配置参数,比如下面这样:# Save the DB on disk:## save &...
转载
发布博客 2018.04.04 ·
183 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

解决面试题T1,T2,T3在多线程中按顺序执行

方法一、使用join方法处理package com.cyc.redis.singleton;public class JoinExample { public static void main(String[] args) { Thread t1 = new Thread(new Runnable() { @Override ...
原创
发布博客 2018.04.04 ·
2397 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Java线程中yield与join方法的区别

长期以来,多线程问题颇为受到面试官的青睐。虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用。之前,我讨论了一个wait()和sleep()方法区别的问题,这一次,我将会讨论join()和yield()方法的区别。坦白的说,实际上我并没有用过其中任何一个方法,所以,如果你感觉有不恰当的地方,请提出讨论。Java线...
转载
发布博客 2018.04.04 ·
601 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

nginx四层和七层负载均衡的区别

(一)  简单理解四层和七层负载均衡:  ① 所谓四层就是基于IP+端口的负载均衡;七层就是基于URL等应用层信息的负载均衡;同理,还有基于MAC地址的二层负载均衡和基于IP地址的三层负载均衡。 换句换说,二层负载均衡会通过一个虚拟MAC地址接收请求,然后再分配到真实的MAC地址;三层负载均衡会通过一个虚拟IP地址接收请求,然后再分配到真实的IP地址;四层通过虚拟IP+端口接收请求,然后再分配到真...
转载
发布博客 2018.04.03 ·
32766 阅读 ·
19 点赞 ·
2 评论 ·
107 收藏

Spring工作原理

1、spring原理       内部最核心的就是IOC了,动态注入,让一个对象的创建不用new了,可以自动的生产,这其实就是利用java里的反射,反射其实就是在运行时动态的去创建、调用对象,Spring就是在运行时,跟xml Spring的配置文件来动态的创建对象,和调用对象里的方法的 。        Spring还有一个核心就是AOP这个就是面向切面编程,可以为某一类对象 进行监督和控制(也...
转载
发布博客 2018.04.03 ·
161 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spring AOP 实现原理

原文:https://blog.csdn.net/MoreeVan/article/details/11977115什么是AOPAOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要...
转载
发布博客 2018.04.03 ·
133 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多