安装jdk双击打开jdk-8u131-windows-x64.exe进安装(安装很简单,就不多赘述了,是可以修改安装位置的)安装完JDK后配置环境变量键盘⌨ 徽标键win+i打开windows设置选择系统选择关于打开高级系统设置在系统属性中选择高级→环境变量在环境变量中选择→系统变量→新建JAVA_HOME变量。变量值填写jdk的安装目录(本人是D:\JAVA\jdk1.8.0-131)系统变量→寻找Path变量→编辑点击编辑文本在文本的最后面在变量值最后输入%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(注意原来Path的变量值末尾(箭头的位置)有没有;号,如果没有
大家好,我是风筝,公众号「古时的风筝」,专注于Java技术及周边生态。文章会收录在JavaNewBee中,更有Java后端知识图谱,从小白到大牛要走的路都在里面。最近在调研JDK17,并且试着将之前的一个小项目升级了一下,在测试环境跑了一段时间。最终,决定了,新项目要采用JDK17了。JDK1.8:“不是说好了,他发任他发,你用Java8吗?”不光是我呀,连SpringBoot都开始要拥护JDK17了,下面这一段是SpringBoot3.0的更新日志。SpringBoot3.0requiresJava17asaminimumversion.IfyouarecurrentlyusingJava8
大家好,我是风筝,公众号「古时的风筝」,专注于Java技术及周边生态。文章会收录在JavaNewBee中,更有Java后端知识图谱,从小白到大牛要走的路都在里面。最近在调研JDK17,并且试着将之前的一个小项目升级了一下,在测试环境跑了一段时间。最终,决定了,新项目要采用JDK17了。JDK1.8:“不是说好了,他发任他发,你用Java8吗?”不光是我呀,连SpringBoot都开始要拥护JDK17了,下面这一段是SpringBoot3.0的更新日志。SpringBoot3.0requiresJava17asaminimumversion.IfyouarecurrentlyusingJava8
前言可以通过分析PriorityBlockingQueue来了解JUC中的线程安全的队列实现的一些套路,这些套路会在JUC中其他数据结构实现上反复出现,从而可以更合理的了解那些实现机制背后通用的部分。BlockingQueueAQueuethatadditionallysupportsoperationsthatwaitforthequeuetobecomenon-emptywhenretrievinganelement,andwaitforspacetobecomeavailableinthequeuewhenstoringanelement.阻塞队列,这个接口就非常重要,它是定义了阻塞队列
前言可以通过分析PriorityBlockingQueue来了解JUC中的线程安全的队列实现的一些套路,这些套路会在JUC中其他数据结构实现上反复出现,从而可以更合理的了解那些实现机制背后通用的部分。BlockingQueueAQueuethatadditionallysupportsoperationsthatwaitforthequeuetobecomenon-emptywhenretrievinganelement,andwaitforspacetobecomeavailableinthequeuewhenstoringanelement.阻塞队列,这个接口就非常重要,它是定义了阻塞队列
Java基础知识Java的三种版本JavaSE:标准版,主要用于开发桌面程序,控制台开发等等JavaME:嵌入式开发,主要用于开发手机,小家电等等,目前使用的比较少JavaEE:企业级开发,主要用于web端开发,服务器开发等等,是使用十分广泛的,学好这部分就要学好JavaSEJDK、JRE、JVMJDK:JavaDevelopmentKit,Java开发者工具JRE:JavaRuntimeEnvironment,Java运行时环境JVM:Java虚拟机JDK8下载安装1.浏览器搜索JDK8,进入Oracle官网2.登录账户3.选择对应的版本下载Windows10查看操作系统的位数的一种办法:设
Java基础知识Java的三种版本JavaSE:标准版,主要用于开发桌面程序,控制台开发等等JavaME:嵌入式开发,主要用于开发手机,小家电等等,目前使用的比较少JavaEE:企业级开发,主要用于web端开发,服务器开发等等,是使用十分广泛的,学好这部分就要学好JavaSEJDK、JRE、JVMJDK:JavaDevelopmentKit,Java开发者工具JRE:JavaRuntimeEnvironment,Java运行时环境JVM:Java虚拟机JDK8下载安装1.浏览器搜索JDK8,进入Oracle官网2.登录账户3.选择对应的版本下载Windows10查看操作系统的位数的一种办法:设
一、前言String字符串在我们日常开发中最常用的,当然还有他的两个兄弟StringBuilder和StringBuilder。他三个的区别也是面试中经常问到的,大家如果不知道,就要先去看看了哈!最近也是看周志明老师的深入JVM一书中写到关于intern()方法的介绍,小编也是以前没在开发中用到。但是面试题还是很多的,所以特意研究了一天,写下来记录一下自己的收获,希望也可以帮助到大家!!二、图文理解String创建对象1.例子一Stringstr1="wang";JVM在编译阶段会判断字符串常量池中是否有"wang"这个常量对象如果有,str1直接指向这个常量的引用,如果没有会在常量池里创建这
一、前言String字符串在我们日常开发中最常用的,当然还有他的两个兄弟StringBuilder和StringBuilder。他三个的区别也是面试中经常问到的,大家如果不知道,就要先去看看了哈!最近也是看周志明老师的深入JVM一书中写到关于intern()方法的介绍,小编也是以前没在开发中用到。但是面试题还是很多的,所以特意研究了一天,写下来记录一下自己的收获,希望也可以帮助到大家!!二、图文理解String创建对象1.例子一Stringstr1="wang";JVM在编译阶段会判断字符串常量池中是否有"wang"这个常量对象如果有,str1直接指向这个常量的引用,如果没有会在常量池里创建这
对于jdk8后的接口,接口中加入了可以定义默认方法和静态方法。为什么要这样设计呢?是为了在给接口扩展方法的时候,不会影响已经实现了该接口的类加入默认方法可以解决:在添加方法的同时,不影响现有的实现类下面演示了一下默认方法和静态方法的使用:interfaceA{/***jdk8之后接口中可以加入默认、静态方法。*是为了在给接口扩展方法的时候,不会影响已经实现了该接口的类。*加入默认方法可以解决:在给接口添加方法的同时,不影响现有的实现类*//***jdk1.8前,接口中只能定义抽象方法和全局常量*接口中抽象方法只能是publicabstarct修饰,不能是protected修饰*接口中只能定义全