随笔分类 -  Java

java自己在使用中的感觉需要写出来的
摘要:本文讲解CAS机制,主要是因为最近准备面试题,发现这个问题在面试中出现的频率非常的高,因此把自己学习过程中的一些理解记录下来,希望能对大家也有帮助。 什么是悲观锁、乐观锁?在java语言里,总有一些名词看语义跟本不明白是啥玩意儿,也就总有部分面试官拿着这样的词来忽悠面试者,以此来找优越感,其实理解清 阅读全文
posted @ 2020-07-19 22:48 纵码万水千山 阅读(250) 评论(0) 推荐(0)
摘要:本篇主要介绍Java多线程中的同步,也就是如何在Java语言中写出线程安全的程序,如何在Java语言中解决非线程安全的相关问题,没错就是使用synchronized. 一、如何解决线程安全问题? 一般来说,是如何解决线程安全问题的呢?基本上所有的并发模式在解决线程安全问题时,都采用“序列化访问临界资 阅读全文
posted @ 2020-06-28 23:44 纵码万水千山 阅读(132) 评论(0) 推荐(0)
摘要:我们知道多线程是Java编程中重要的一块内容,也是面试重点覆盖区域,所以学好多线程对我们来说极其重要,下面跟我一起开启本次的学习之旅吧。 一、线程基本概念 1 线程:进程中负责程序执行的执行单元(执行路径)线程本身依靠程序进行运行线程是程序中的顺序控制流,只能使用分配给程序的资源和环境2 进程:执行 阅读全文
posted @ 2020-06-20 00:26 纵码万水千山 阅读(158) 评论(0) 推荐(0)
摘要:一、介绍 jstack是java虚拟机自带的一种堆栈跟踪工具。jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式: jstack [-l] pi 阅读全文
posted @ 2020-06-11 23:34 纵码万水千山 阅读(298) 评论(0) 推荐(0)
摘要:jps(Java Virtual Machine Process Status Tool) 是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。很多人都是用过unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情 阅读全文
posted @ 2020-06-11 23:11 纵码万水千山 阅读(495) 评论(0) 推荐(0)
摘要:创建服务端 1.file–>new–>project 2.点击next后输入服务端名,点击finish,生成目录如下 3.在 HelloWorld.Java 文件中右击,选 WebServices ,再选 Generate Wsdl From Java Code ,确定, 点击ok会自动给我们生成H 阅读全文
posted @ 2020-06-01 00:52 纵码万水千山 阅读(1537) 评论(0) 推荐(0)
摘要:一、EventBus的使用案例 EventBus是Guava的事件处理机制,是设计模式中的观察者模式(生产/消费者编程模型)的优雅实现。对于事件监听和发布订阅模式,EventBus是一个非常优雅和简单解决方案,我们不用创建复杂的类和接口层次结构。 Observer模式是比较常用的设计模式之一,虽然有 阅读全文
posted @ 2020-06-01 00:13 纵码万水千山 阅读(1814) 评论(0) 推荐(0)
摘要:PoolingHttpClientConnectionManager是一个HttpClientConnection的连接池,可以为多线程提供并发请求服务。主要作用就是分配连接,回收连接等。同一个route的请求,会优先使用连接池提供的空闲长连接。 源码版本4.5.2,因为代码太多,很多不是自己关心的 阅读全文
posted @ 2020-05-15 23:43 纵码万水千山 阅读(2835) 评论(0) 推荐(0)
摘要:1、为什么要用锁? 锁-是为了解决并发操作引起的脏读、数据不一致的问题。 2、锁实现的基本原理 2.1、volatile Java编程语言允许线程访问共享变量, 为了确保共享变量能被准确和一致地更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁要更加方 阅读全文
posted @ 2020-05-09 22:51 纵码万水千山 阅读(251) 评论(0) 推荐(0)
摘要:这几个接口都在 java.util.function 包下的,分别是Consumer(消费型)、supplier(供给型)、predicate(谓词型)、function(功能性); 那么,下面,我们从具体的应用场景来讲讲这个接口的用法! 1 Consumer接口 从字面意思上我们就可以看得出啦,c 阅读全文
posted @ 2020-05-03 18:21 纵码万水千山 阅读(1489) 评论(0) 推荐(0)
摘要:调用第三方接口时会报NoHttpResponse异常,原因是上次的连接已经断掉了,但是客户端并未知道,复用上次连接就报错了,所以要解决这个问题,就是要校验上次链接是否断掉了 1. httpClient已经给我们实现了这个,setRetryHandler public static RestTempl 阅读全文
posted @ 2020-04-25 21:31 纵码万水千山 阅读(4925) 评论(0) 推荐(0)
摘要:前言 使用springboot内嵌的tomcat启动是没问题,但是工程是要放到服务器上的tomcat的,所以springboot内嵌的能够启动,但不代表服务器的tomcat能启动起来,我就遇到了这个问题,所以本地使用外部的tomcat启动,模拟服务器的tomcat可以测试一下,有问题及时修复,不要等 阅读全文
posted @ 2020-04-25 13:36 纵码万水千山 阅读(4782) 评论(0) 推荐(0)
摘要:众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。 HashMap数组每一个元素的初始值都是Null。 对于HashMap,我们最常使用的是两个方法:Get 和 Pu 阅读全文
posted @ 2020-04-21 23:59 纵码万水千山 阅读(161) 评论(0) 推荐(0)
摘要:前言 数字签名、信息加密 是前后端开发都经常需要使用到的技术,应用场景包括了用户登入、交易、信息通讯、oauth 等等,不同的应用场景也会需要使用到不同的签名加密算法,或者需要搭配不一样的 签名加密算法 来达到业务目标。这里简单的给大家介绍几种常见的签名加密算法和一些典型场景下的应用。 正文 1. 阅读全文
posted @ 2020-04-10 23:19 纵码万水千山 阅读(1910) 评论(0) 推荐(0)
摘要:会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用C 阅读全文
posted @ 2020-01-01 21:55 纵码万水千山 阅读(479) 评论(0) 推荐(0)
摘要:为什么要用线程池 相比new Thread,Java提供的四种线程池的好处在于: a. 重用存在的线程,减少对象创建、消亡的开销,性能佳(减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务)。 b. 可有效控制最大并发线程数,提高系统资源的使用率,同时避免过多资源竞争,避免堵塞 阅读全文
posted @ 2019-08-27 23:24 纵码万水千山 阅读(148) 评论(0) 推荐(0)
摘要:我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 然而在实际开发过程中,我们常常会遇到这样的问题,这个类 阅读全文
posted @ 2019-08-08 16:12 纵码万水千山 阅读(217) 评论(0) 推荐(0)
摘要:抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。 一、抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对 阅读全文
posted @ 2019-08-05 22:53 纵码万水千山 阅读(167) 评论(0) 推荐(0)
摘要:集合类之番外篇:深入解析HashMap、HashTable Java集合类是个非常重要的知识点,HashMap、HashTable、ConcurrentHashMap等算是集合类中的重点,可谓“重中之重”,首先来看个问题,如面试官问你:HashMap和HashTable有什么区别,一个比较简单的回答 阅读全文
posted @ 2019-08-04 23:18 纵码万水千山 阅读(246) 评论(0) 推荐(0)
摘要:1、构建BigDecimal 2、方法 3、格式化和四舍五入 4、格式化 DecimalFormat 解析: 5、舍入模式介绍 RoundingMode.CEILNG:向正无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.UP;如果结果为负,则舍入行为类似于 Rou 阅读全文
posted @ 2019-08-04 22:45 纵码万水千山 阅读(564) 评论(0) 推荐(0)