JDK

Scanner类的概述及其构造方法

僤鯓⒐⒋嵵緔 提交于 2020-11-21 02:10:18
Scanner类的概述及其构造方法 1 package cn.itcast_01; 2 3 /* 4 * Scanner类  在JDK5以后出现的用于键盘录入数据的类。 5 * 6 * 前面的时候用Scanner类的步骤: 7 * A:导包 8 * B:创建对象 9 * C:调用方法 10 * 11 * System类下有一个静态的字段(字段=成员变量=事物属性): 12 * 比如: 13 * class System { 14 * public static final InputStream in; “标准”输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。 // 引用数据类型 15 * } 16 * InputStream is = System.in; 17 * 18 * class Demo { 19 * public static final int x = 10; // 基本数据类型 20 * public static final Student s = new Student(); // 引用数据类型 21 * } 22 * int y = Demo.x; 23 * Student s = Demo.s; 24 * 25 * 构造方法: 26 * public Scanner(InputStream source

基础语法

烈酒焚心 提交于 2020-11-21 01:54:34
关于程序语言 是什么 程序语言是一门特殊的语言,不像英语,汉语是用于人与人之间交流的,程序语言是人类与计算机交互的媒介。 为什么 类比一下,如果你想和动物交流,就得知道动物的各种叫声代表着什么。同理,如果要和计算机交流,就必须得知道计算机的交流方式。但是由于计算机所能理解的01过于复杂,先驱们发明各种各样的程序语言,使得编程的门槛降低。计算机是不能理解程序语言的,但通过编译器解释器的转换,最终程序代码以01的形式传递给计算机。随着计算机的发展人们通过设计规范来使得控制计算机变得更加容易,这些规范就是程序语言。 程序语言被编译执行后本质上传输给计算机的还是01,但相对于直接向计算机传输01指令,使用程序语言无疑是更好的选择。 1,JDK环境配置 1.1,win10安装JDK8 【安装步骤】 jdk8下载地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 【下载的安装包主要包含JDK,JRE,JavaFx包】(JavaFX主要用于桌面端开发) 设置jdk安装路径 设置jre安装路径 设置环境变量 找到jdk安装的bin目录,复制安装路径 右键电脑选择属性 添加刚刚复制的路径到path里: 点击三个确定。 查看是否安装成功 java -version java

信不信这些Java面试题,可以把70%程序员劝退?(附带答案讲解)

六眼飞鱼酱① 提交于 2020-11-21 00:31:33
上一篇文章我写了阿里面试官认证的一些非常不错的面试题和一些学习的思路,但是因为文章太长了就分为了两个部分来完成,所以这一篇文章就把最后写的Java面试带上答案一同码了出来,以下为解答大纲,部分作了扩展。 1.private修饰的方法可以通过反射访问,那么private的意义是什么 这题是一道思想题目,天天会碰到private,有没有想过这个问题? 谈谈对java设计的认识程度,主要抓住两点: 1.java的private修饰符并不是为了绝对安全性设计的,更多是对用户常规使用java的一种约束; 2.从外部对对象进行常规调用时,能够看到清晰的类结构。 2.Java类初始化顺序 先说结论: 基类静态代码块,基类静态成员字段(并列优先级,按照代码中出现的先后顺序执行,且只有第一次加载时执行)——>派生类静态代码块,派生类静态成员字段(并列优先级,按照代码中出现的先后顺序执行,且只有第一次加载时执行)——>基类普通代码块,基类普通成员字段(并列优点级,按代码中出现先后顺序执行)——>基类构造函数——>派生类普通代码块,派生类普通成员字段(并列优点级,按代码中出现先后顺序执行)——>派生类构造函数 代码验证: class Log { public static String initLog(String log) { System.out.println(log);return null;

太狠了阿里技术专家撰写的电子版JVM&G1 GC实战,颠覆了传统认知

好久不见. 提交于 2020-11-20 12:34:26
JVM是Java语言可以跨平台、保持高发展的根本,没有了 JVM, Java语言将失去运行环境。针对 Java 程序的性能优化一定不可能避免针对JVM 的调优,随着 JVM 的不断发展,我们的应对措施也在不断地跟随、变化,内存的使用逐渐变得越来越复杂。所有高级语言都需要垃圾回收机制的保护,所以 GC 就是这么重要。 而不是仅仅针对 Java 虚拟机和 GC 调优进行讲解,也力求每一章节都有实际的案例支撑。 本书具体包括以下几方面:JVM 基础知识、 GC 基础知识、 GI GC 的深入介绍、 GI GC 调优建议、 JDK自带工具使用介绍等。 每个知识点都有左侧导航书签页,看的时候十分方便,由于内容较多,这里就截取一部分图吧。 第1章 JVM & GC基础知识 本章主要介绍和解决以下问题,这些也是全书的基础。 为什么我们需要了解 NM GC ,这是您阅读本书的依据。 了解 GC 的基础常用术语知识,作者和读者需要对术语定义进行统一。 了解 NM 的基础知识,包括堆、楠、方法区等。 为深入了解口创 GC 做好知识储备。 第2章 JVM & GC深入知识 垃圾回收是 Java 应用程序可持续运行的基础保障,它对于每个对象按照分代的方式进行切分,类同于雪国列车的各节车厢,每节车厢所搭乘的乘客不同,也会在一定时间被回收、清空,对象的生命周期会按照 定的规则进行设定。只有了解JVM、了解

Eclipse启动慢解决方案

好久不见. 提交于 2020-11-20 07:34:37
Eclipse 解决启动慢、运行慢的方法总结 修改配置文件 修改 eclipse 的配置文件 eclipse.ini ,由于 eclipse 的默认配置中最大运行内存只设置了 256 m,明显太低了,我们要适当调高点。 我的笔记本配置是固态硬盘+8G内存条,但是已经用了好几年了,所以性能比较差,就调了下面的数据,如果电脑配置高的话,可以继续往上调高运行内存。然后具体的修改操作,可以参考下面截图。 1 2 -Xms256m -Xmx512m 修改 JRE 修改 JRE 中的 Default VM Arguments 。把 JDK 的运行内存也调高。具体操作如下图。 修改 eclipse 中默认的验证 进入 eclipse 后,打开首选项。关闭一些不必要的验证,按下图操作,建议只留下 Build 下面的 Classpath Dependency Validator 。具体操作如下图。 修改启动插件 Eclipse 默认在启动过程中会自动帮我们加载一些大部分时候都不需要用到的插件,这时候我只需要把对应加载插件的功能给关掉就行。具体如下图所示。 关闭自动编译功能 关掉 eclipse 中的 编写 JAVA 代码的自动编译功能,也能适当提升运行速度。具体如下图所示。 注意:如果通过上面的4种办法修改后,eclipse 运行速度已经明显提高了,就不要关闭编译功能,可能会能影响你的开发习惯!!!

在 Ubuntu16.04 中搭建 Spark 单机开发环境 (JDK + Scala + Spark)

只愿长相守 提交于 2020-11-20 07:34:06
1.准备 本文主要讲述如何在Ubuntu 16.04 中搭建 Spark 2.11 单机开发环境,主要分为 3 部分:JDK 安装,Scala 安装和 Spark 安装。 JDK 1.8: jdk-8u171-linux-x64.tar.gz Scala 11.12: Scala 2.11.12 Spark 2.2.1: spark-2.2.1-bin-hadoop2.7.tgz 需要注意的是,Spark 版本与 Scala 版本需要匹配一致。 Note: Starting version 2.0, Spark is built with Scala 2.11 by default. Scala 2.10 users should download the Spark source package and build with Scala 2.10 support. 2.JDK 安装 下载 jdk-8u171-linux-x64.tar.gz 后,解压到自己指定目录。 $ sudo mkdir /usr/local/java $ sudo tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/java 配置环境变量,打开 profile 文件 $ sudo gedit /etc/profile 在文件末尾写入,注意 JAVA_HOME

java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射

◇◆丶佛笑我妖孽 提交于 2020-11-20 06:14:15
java大文件读写操作,java nio 之MappedByteBuffer,高效文件/内存映射 转载自: http://langgufu.iteye.com/blog/2107023 java处理大文件,一般用BufferedReader,BufferedInputStream这类带缓冲的Io类,不过如果文件超大的话,更快的方式是采用 MappedByteBuffer 。 MappedByteBuffer 是java nio引入的文件内存映射方案,读写性能极高。NIO最主要的就是实现了对异步操作的支持。其中一种通过把一个套接字通道(SocketChannel)注册到一个选择器(Selector)中,不时调用后者的选择(select)方法就能返回满足的选择键(SelectionKey),键中包含了SOCKET事件信息。这就是select模型。 SocketChannel的读写是通过一个类叫ByteBuffer(java.nio.ByteBuffer)来操作的.这个类本身的设计是不错的,比直接操作byte[]方便多了. ByteBuffer有两种模式:直接/间接.间接模式最典型(也只有这么一种)的就是HeapByteBuffer,即操作堆内存 (byte[]).但是内存毕竟有限,如果我要发送一个1G的文件怎么办?不可能真的去分配1G的内存.这时就必须使用"直接"模式,即

Java中不可或缺的59个小技巧,贼好用!

我只是一个虾纸丫 提交于 2020-11-20 03:57:04
来源:https://blog.dogchao.cn/?p=70 《Effective JavaJava 》 名著,必读。如果能严格遵从本文的原则,以编写API的质量来苛求自己的代码,会大大提升编码素质。 以下内容只记录了我自己整理的东西,还是建议读原文。为了聚焦知识点,一些说明故意忽略掉了。相当于是一篇摘要。 1、考虑用静态工厂方法替代构造函数 例子: Integer.valueOf(“ 1 ”)、Boolean.valueOf(“ true ”)等。 优势: 可读性高(方法名) 性能(不一定创建对象) 灵活性高 下面针对三个优势进行一些解读。 可读性高 new Point(x,y)和Point.at(x,y)、Point.origin()。构造函数只能看出两个参数,不知其意,后者更易理解。 性能 在某些情况下,可以事先进行实例化一些对象,调用时直接调用即可,不需要进行改变。比如,Boolean。 public final class Boolean implements Serializable , Comparable < Boolean > { // 预先设置两个对象 public static final Boolean TRUE = new Boolean( true ); public static final Boolean FALSE = new Boolean(

docker可视化管理portainer

烂漫一生 提交于 2020-11-19 23:54:34
使用场景一:一台服务上有多个应用,根据需要启动、关闭指定的一个或多个应用。 使用场景二:将开发环境制作成镜像,上线时直接使用镜像快速部署。 这里以场景一为例. 使用的操作系统使centos7.x 1、docker的安装启动关闭 systemctl stop docker.service systemctl start docker.service 2、安装运行docker的可视化管理工具portainer docker search portainer docker pull portainer/portainer docker volume create portainer_data // --privileged=true是授予挂载的权限 // -v前面的目录是宿主机目录,后面的目录是容器内目录 // -p 20000:9000 前面的端口号是外部访问使用的,后面的端口号为容器内部的. // portainer的默认端口为9000 docker run -d --name portainer --privileged=true -p 20000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer 访问http://ip

面了美团我才知道大公司的面试有多恐怖,附上我的美团5面经历,终拿offer!

微笑、不失礼 提交于 2020-11-19 13:26:49
前言 面了美团,越发让我觉得想进大厂还需要很长时间的积累,问的知识点并没有那么多那么宽,但是会比我看到的更深入一点更贴近使用场景一点,自己差的还很远,可能真的要以春招为目标了 1.自我介绍 2.简单说一下项目,项目的问题,难点 3.Mybatis的$和#的区别 4.Mysql的存储引擎有哪些 5.Myisam和Inodb的区别 6.Innodb一定要有主键嘛,原因是什么 7.主键为什么建议使用自增主键,比如是字符串可以做主键嘛 8.Innodb的锁有哪些 9.解释一下间隙锁 10.间隙锁是共享锁还是排它锁 11.共享锁和排它锁对比 12.什么情况触发表锁和行锁和间隙锁(间隙锁没答对被追问了) 13.最左匹配原则,abc,顺序也是abc,什么情况索引肯定会失效,什么情况下整个索引都失效 14.spring mvc的执行流程 15.lock的底层实现原理(忘记了,很尴尬,很急但就是想不起来了) 16.jdk的线程池有哪些,怎么选择使用哪个线程池(只记得概念,怎么选择完全说不出来) 17.核心线程数和最大线程数的数量该设计为多大 18.设计模式了解哪些,工厂模式什么情况会用到 19.哪个框架在什么地方会用到这些模式 20.有用过redis,esmq嘛(后面告诉我我的知识范围宽度广度都需要提高,这些技术还需要去学习 😭😭) 21.jvm什么情况下触发young gc和full gc