学习知识点
文章平均质量分 77
haoshuai2015
这个作者很懒,什么都没留下…
展开
-
切勿用普通for循环遍历LinkedList
【转载文章】经自己测试验证,确实当遍历范围变大后,遍历耗时指数级增长。转载存留,备忘!ArrayList与LinkedList的普通for循环遍历对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法:public static void main(String[] args){ List<Integer...转载 2018-04-17 15:43:34 · 139 阅读 · 0 评论 -
JDK导入安全证书失败异常问题解决
今天项目启动遇到了证书异常问题,网上搜了安全证书的导入方式,还是出现一些比较少见的异常,下面记录下来且给出了解决方 案,希望可以给后续遇到相同问题的同学 提供解决思路。 JDK证书的导入方式,百度随意搜索都可以找到。下面给出了一些我遇到的问题。问题一:CMD命令行窗口,显示 'keytool' 不是内部或外部命令,也不是可运行的程序或批处理文件。解决办法...原创 2019-07-09 19:09:44 · 6149 阅读 · 1 评论 -
推荐几款Intellij IDEA好用的插件给Java工程师
目录1.lombok2.p3c3. FindBugs-IDEA4. GsonFormat5. Maven Helper6. GenerateAllSetter7. VisualVM Launcher8.Translation1.lombok地址:https://plugins.jetbrains.com/plugin/6317-lombok-plugin...原创 2019-02-13 17:35:08 · 1328 阅读 · 0 评论 -
项目中遇到的授权和鉴权问题解决方案
目录一、固定token方案二、Session认证方案三、客户端token方案(项目中采用的是此方案)四、第三方授权方案五、API请求签名下面主要介绍工作中遇到的授权和鉴权问题,采用的五种方案。 一、固定token方案 这是一种“懒人”的方案,在发送请求时,在cookie中带入固定值,在nginx中判断cookie中的值是否正确,如果正确则允许访问服务...转载 2019-02-13 14:25:00 · 2598 阅读 · 0 评论 -
定时任务Java实现
定时任务Java实现的几种基本方法。方法一:Thread是我们最容易想到的,利用while循环,在其中加入sleep方法来实现定时功能。具体代码实现如下代码示例:public class TestTimeOrder { public static void main(String[] args) { final long timeInterval = 30...原创 2019-02-12 17:38:56 · 10948 阅读 · 2 评论 -
数据缓存的Java实现
目录基础概念和问题缓存相关概念缓存相关问题本地缓存Guava CacheEHCache远程缓存Redis集群 对于缓存大家应该都不陌生,缓存的核心是用空间换实践,通过分配一块高速存储区域(一般都是内存)来提高数据的读写效率,其实现的难点在于清空策略的实现,比较合理的思路就是定时回收与及时判断数据是否过期相结合。 下面文章是转发的,主要从本地缓存、远程缓存...转载 2019-02-15 17:13:04 · 7666 阅读 · 0 评论 -
Java数据存储--堆、栈、方法区
堆特点:堆的特点是存储比较灵活,可以动态的分配存储空间以及大小 存储内容:存储了所有new的对象,以及数组 关于线程:堆是共享于所有的线程的栈特点:栈的存储速度快,内存向上移动就是释放,向下移动就是存储,速度仅次于寄存器,但是在创建程序时候,JAVA编译器必须知道存储在堆栈内所有数据的确切大小和生命周期,因为它必须生成相应的代码,以便上下移动堆栈指针。 存储内容:常用来存储一些局部...转载 2019-02-15 15:19:52 · 205 阅读 · 0 评论 -
学习Java多线程
以下主要涉及Java中多线程的使用方法、线程同步、线程数据传递、线程状态及相应的一些线程函数用法等。如有需要,请选择阅读。 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销...原创 2019-01-29 16:33:58 · 142 阅读 · 0 评论 -
分布式、高并发、多线程基础知识
分布式、高并发、多线程的区别与联系 首先确认一点,他们三个是相伴而生,但侧重点各有不同。 分布式分布式更多的一个概念,是为了解决单个物理服务器容量和性能瓶颈问题而采用的优化手段。该领域需要解决的问题极多,在不同的技术层面上,又包括:分布式文件系统、分布式缓存、分布式数据库、分布式计算等,一些名词如Hadoop、zookeeper、MQ等都跟分布式有关。从理念上讲,分布式的实现...转载 2019-01-29 11:48:29 · 438 阅读 · 0 评论 -
JSON数据解析方式总结--Java中String、Json、Java对象之间相互转换
背景知识: JSON是一种类似 XML的语言,是用了存储和交换文本信息的语法。它的全称为JavaScript Object Notation(JavaScript 对象表示法)。与xml对比,它更小、更快,更易解析。想要更好的解析JSON,必须能看懂JSON数据,这样就必须了解JSON语法,好在它的语法非常简单,规则如下:JSON 语法是 JavaScript 对象表示法语法...原创 2018-10-22 14:00:09 · 2695 阅读 · 1 评论 -
Java如何在调用方法时,同时改变实参的值? 即 形参改变实参
关键点:实参:如果是基本类型,则实参不会变(传的是值); 如果是对象,则实参会改变(传的是引用)。具体实例和分析如下:示例一:传入参数为整形变量:public class Java{public static void main(String[] args){ int b =5; changeInt(b); System.out....原创 2018-07-31 17:31:45 · 13479 阅读 · 6 评论 -
Hbase查询速度快的原理分析
因为Hbase属于NoSQL,非关系型数据库,所以会经常拿来和关系型数据库做对比。面试的时候也会问到为何Hbase的速度快或者为什么选择Hbase作为数据库存储。下面的文章是转发的,对于上述问题的回答有一定的参考意义。仅供参考。HBase能提供实时计算服务主要原因是由其架构和底层的数据结构决定的,即由LSM-Tree(Log-Structured Merge-Tree) + HTable(reg...转载 2018-07-10 13:46:58 · 10266 阅读 · 2 评论 -
MySQL建立索引注意事项以及面试问题
Mysql是我们常用的数据库,其中建表建索引是实际项目开发过程中不可避免的操作,下面整理一下自己查阅的资料,简单的介绍一下mysql建索引的注意事项,方便自己理解,也可用于某些面试问答。 1. 索引的作用: 可以快速找出在某个列中有一特定值的行。不适用索引的话,MySQL会从第一条记录开始然后读取整张表直至找到相关行。即快速定位。 类同于我们阅读书籍的目录。 2.索引是否...原创 2018-05-15 17:47:21 · 1377 阅读 · 0 评论 -
Spring NoSuchBeanDefinitionException原因分析
在本文中,我将通过实例向你展示Spring 中org.springframework.beans.factory.NoSuchBeanDefinitionException 出现的原因。如果BeanFactory在Spring Context中没有找到bean的实例,就会抛出这个常见的异常。Cause: No qualifying bean of type […] found for ...转载 2018-05-25 17:15:08 · 5578 阅读 · 0 评论 -
Spring常用注解介绍【转】
在进行Spring项目编码调试的时候,发现自己犯了一个极其低级的错误,没有对相应的Bean使用注解。于是,网上查阅了一些资料,再次强化记忆,以下这篇文章讲解较为清楚,故转发分享以及备忘。Spring的一个核心功能是IOC,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用Spring注解方式或者Spring XML配置方式。 Spring注解方式减少了配置文件内容,更加...转载 2018-05-04 16:42:45 · 105 阅读 · 0 评论 -
Spring AOP基础知识及其运用
最近涉及到公司系统信息安全整改,需要将涉及到敏感信息的操作日志发送到QMQ,因此正好借此机会重新熟悉运用了Spring AOP机制,加深了以下对其的了解。 先直接贴出我参考的几篇文章把,或许不全,但于我这次的日志整改开发已经够用了,仅供大家参考。 Spring Boot中使用AOP统一处理Web请求日志 Spring boot实现web层的日志切面 ...原创 2019-07-15 18:22:04 · 151 阅读 · 0 评论