自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

oneSeekers的博客

不积跬步,无以至千里;不积小流,无以成江海

  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 2021-01-21

函数式接口的思考接口和抽象类的区别还在吗?抽象类还有意义吗? 接口中可以有抽象方法,默认方法,静态反方法;抽象类中可以有抽象方法,实例方法,静态方法。 接口中的属性是 public static final 的;抽象类中的属性则不是。 接口中的方法只能是public的,抽象了则不是 接口可以多实现,抽象类只能单继承 再看看JDK中对于抽象类和接口的应用,抽象类往往是实现接口中一些通用的方法,而子类只需要集成抽象类,实现个性化的方法即可。总而言之,接口定义了子类的行

2021-01-21 09:09:53 112

原创 2021-01-21

JDK8-2常见函数式接口JDK提供的常见函数式接口 Function 接受一个参数,产生一个返回值(代表一个函数)@FunctionalInterfacepublicinterfaceFunction<T,R>{//函数式方法Rapply(Tt);//组合函数,针对输入参数首先应用before函数,然后应用当前函数,如果对任一函数求值时抛出异常,异常会被传递到调用者default<V>Function<V,...

2021-01-21 09:09:04 104

原创 2021-01-21

JDK8-1 函数式接口的定义JDK8 历史渊源这是第一篇写 JDK8 的内容,先聊聊 JDK8 的历史渊源吧。2014 年 3 月 18 日,JDK8 的第一个正式版发布了,时间上虽比原定的 2013 年 9 月稍晚了一些,但是功能上还是值得肯定的,主要包括: JEP 126:对 Lambda 表达式的支持,让 Java 语言拥有了函数式表达的能力。 JEP 104:内置 Nashorn JavaScript 引擎的支持。 JEP 150:新的时间、日期 API。

2021-01-21 09:08:25 106

原创 进程通讯-Condition

进程之间通讯-Condition await/signal/signalAllawait(): 调用await方法的线程释放当前的lock,当前线程处于等待状态。类似于synchronized的wait()方法。signal(): 调用signal方法使得当前condition的wait线程处于唤醒状态。 类似于synchronized的notify()方法,如果存在多个wait线程,signal()方法可以指定唤醒某个线程,notify()只能随机唤醒一个。signalAll(): 调用sig

2020-10-20 22:37:40 173

原创 volatile的语义与实践

volatile是JVM虚拟机提供的最轻量级的同步机制,如果能恰当的使用volatile的话,它比synchronized的执行成本更低,因为它不会引起上下文的切换和调度。 Java语言规范第三版中对volatile的定义如下:Java语言允许线程访问共享变量,为了确保共享变量能被准确和一致的更新,线程应该确保通过排它锁单独获取这个变量。Java语言提供了volatile,在某些情况下比锁要更加方便。如果一个字段被声明为volatile,Java线程内存模型确保所有线程看到这个变量的值是一致的。...

2020-10-20 19:22:32 185

原创 源码分析-ThreadLocal

ThreadLocal 始于JDK1.2,提供了一个操作线程对象变量(ThreadLocal.ThreadLocalMap)的方法,进而达到线程安全和数据与线程绑定的目的。使用示例:import org.junit.Test;import java.util.concurrent.TimeUnit;/** * ThreadLocal类使用测试 */public class ThreadLocalTest { public ThreadLocal<Integer&g.

2020-05-28 22:36:42 144

原创 进程通讯-join

join:线程加塞。官方释义:Waits for this thread to die.(等待当前线程死掉)join()方法是java.lang.Thread类的成员方法,因此只有Thread的实例可以调用。join的用法实例:/** * Thread的join()线程加塞方法测试 */public class Join { @Test public void test(){ Thread joinThread = new Thread(..

2020-05-28 21:15:34 282

原创 进程通讯-wait notify

进程通讯之wait/notifywait():调用wait方法的线程释放当前的锁,并使当前线程处于等待状态。notify():使用notify方法,使得用notify调用者对象作为Monitor的wait线程随机一个被唤醒。notifyAll(): 使得用notifyAll()调用者对象作为Monitor的wait线程都被唤醒。tip: 1. notifyAll()不是唤醒所有处于wait状态的线程,而是只唤醒使用当前调用notifyAll()对象作为Monitor的wait线程。.

2020-05-25 23:09:26 228

原创 Java连接mysql时区问题

ErrorCode=0 SQLState=01S00 The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone ...

2019-05-23 10:45:12 4894

原创 简单谈谈Java语言中String类的final作用

什么每个程序员避免不了操作字符串的废话我就不多说了,直接开始正题:Java中String类多处使用final关键字,为什么?String类的定义如下: public final class String implements java.io.Serializable, Comparable<String>, CharSequence {} 四个地方值得注意:1....

2019-04-07 00:26:29 310

原创 mysql主从搭建

参考了好多资料,终于搭建成功了一个mysql的主从,记录下来所有的步骤,以及资料中设计到的坑: 1.准备材料:CentOS--3.10.0-514.el7.x86_64 两台 各自装有mysql--5.6.221.1 master : 192.168.8.1301.2 slave : 192.168.8.131(这里首先保证mysql可以启动成功,并且可以登录,并且两台机器...

2018-08-11 23:47:50 210

原创 我要如何再去相信mybatis?

我之所以写这篇文章,只是为了表达三个字mmp,不是我没素质,只是坑实在太深(如果是我脑洞太浅,还望各位大牛留言多多指导)。从今天下午的问题说起吧!问题1:测试完全通过,等到发版的时候,线上产生了bug!    是测试不够专业?我觉得并不是,只能说测试库太脏。导致测试怀疑我发到线上的和测试环境的不是同一版本的代码,纳尼?ci直接deploy的同一个release,我都没敢二次build,,...

2018-08-02 21:56:08 181

原创 虚拟机linux中网络配置静态IP

解决痛点:有时候,虚拟机的网络就不知道怎么了,在windows上通过putty等其他工具连接不上了,又不会弄,ifconfig一看,全是mac地址,没有ip,有时候有,但是在windows中ping不通,这让人很头疼,为了解决linux虚拟机中网络的配置,因此记录以下内容。#########################案例机器为(uname -a):CentOS 3.10.0-514.el7....

2018-07-21 16:22:47 1852

原创 浅谈java中的引用

jvm1.2以前关于引用的最原始的定义是:如果reference类型中存储的数据代表另一块内存的起始地址,就称这块内存代表一个引用。    (这种定义有一个致命的缺陷是:引用只有两种状态  1.被引用;2.没有被引用)    为什么说只有两种状态就是一个致命的缺陷呢?        因为对于好多对象,我们在回收的事情上需要加判断(也许对象正在被应用,在有的情况下也需要回收;也许对象没有被引用,也不...

2018-06-24 22:29:49 182

原创 JVM产生以及引用一个对象

JVM如何产生一个对象?        程序员视角:new     clone     反序列化  都可以生成一个对象在内存中。(JVM的给我们带来的方便,两个字:伟大)        JVM视角:(大约需要以下5步骤)                1. (验证类加载)检查创建对象的指令参数,能否在常量池中定位到一个类符号的引用(Class信息存放在方法区中,常量池也是方法区的一部分)。并且检查...

2018-06-13 11:11:58 308

原创 JVM中的OOM异常(out of memory)

A.可能抛出oom异常的内存: 1.jvm运行时所管理的内存:除了程序计数器之外的内存(堆,方法区,虚拟机栈,本地方法栈)都有可能抛出oom异常。 当然栈中有可能会抛出OOM异常也可能会抛出stack overflow Error。当请求的深度大于栈所允许的最大的深度,则抛出stack overflow error ,当栈的容量扩充,分配不到空间时抛出OOM. 2...

2018-06-13 09:13:28 1600

原创 webService从调用到发布

1.java调用别人的webService服务。 1.1调用别人的webService服务,首先看wsdl文件,这个文件中定义了webService所提供的服务的调用规则(这个文件的地址:服务url?wsdl。这个url就是webService服务的url ,例如http://127.0.0.1:8081/hello?wsdl)。 1.2根据wsdl文件生成相应的客户端代码 jdk1....

2018-06-06 09:27:02 335

原创 Java元注解(Annotation)及注解的解析处理器(AbstractProcessor)

元注解就是注解的注解。java中的四个元注解:@Retention,@Target,@Documented,@Inherited.四个元注解的含义:@Retention 注解的保留策略(该注解在代码中的声明周期)。(值为RetentionPolicy的枚举类型:RESOURCE@Target 注解的作用目标(该注解能应用的位置)。( 值为ElementType[ ]数组类型:@

2018-06-06 08:58:01 2642

原创 Java中的System.currentTimeMillis()和System.nanoTime()的区别

Java提供了两个获取时间的重要方法: 1. long System.currentTimeMillis(); 2. long System.nanoTime();currentTimeMillis()方法的精度是毫秒 milliseconds 可以异步机器同步 nanoTime() 方法的精度是纳秒 不能垮机器使用1 毫秒 = 1000000 纳秒cu...

2018-05-11 11:41:56 1486

原创 SQL语句(statement)预处理(preparedStatement)

javaweb中sql语句的预处理预处理也叫预编译。本来sql每执行一条sql语句,就需要对这条sql语句进行编译,然后执行。预编译采用sql模版。只需要在第一次使用时编译一次。后面传参数调用就可以了。预处理代码如下:try{ Connection con = DriverManager.getConnection(props.getProperty("url"),pro

2016-10-19 14:38:43 2925

原创 javaweb页面中添加验证码功能

详细的介绍了javaweb中图形验证码的底层代码如何实现

2016-10-17 22:16:08 1468

设备管理系统

办公设备管理系统,里面用到的技术有springboot+mybatis+druid+多数据源+jsp+swagger2+JavaMail,里面还设计一些线程池的操作,页面美观,不管用系统还是学技术,都值得参考。喜欢的就点个赞留个评论什么的 ,十分感谢!

2019-04-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除