我们以后缀名为123.java为例,进行java源文件的解析: 我们存放123.java的地址在D:/day1> 此时我们只要输入javac 123.java,在指定文件夹处立刻会生成一个class文件...在D:\day1>输入java Sakura.class/java Salura,运行结果如下: ?...成员变量只能被对象调用; 静态变量可以被对象调用,还可以被类名调用 3.别名不同: 成员变量也称为实例变量 静态变量称为类变量 4.数据存储位置不同 成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据...静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据 静态使用的注意事项: 1.静态方法只能访问静态成员,(非静态既能访问静态,又可以访问非静态) 2.静态方法中不可以使用this或者...,就是对象的持有数据,必须存储在对象中,是非静态的 如果是相同的数据,对象不需要做修改,只需要使用即可,不需要存储在对象中,定义成静态的 2.静态函数: 函数是否用静态修饰,就参考一点,就是该函数功能是否有访问到对象中的特有数据
一、java基础知识 1.java基础语法2.java对象和类3.java基本数据类型4.java变量类型5.java修饰符6.java运算符7.java循环结构8.java分支结构9.java方法知识解析...10.java流(Stream)、文件(File)和IO11.java异常处理12.java继承13.Java 重写(Override)与重载(Overload)14.Java多态15.Java接口16....Java抽象类17.Java包(package)18.Java多线程编程19.Java集合框架20.Java泛型21.Java序列化22.Java网络编程 二、javaWeb知识 Servlet部分
java运行环境配置(jdk配置) 2. java基础语法 2.1 java数据类型及关键字 2.1.1 java标识符运算符及常量与变量 3....java对象和类 3.1 java条件语句 3.2 java循环语句 3.4 java switch case 语句 4....java一维数组 4.1 java二维数组 5. java Scanner类 6. java 继承 知识体系图:
本文整理的Java知识汇总主要包括Java基础、Java进阶、数据库、JVM、消息队列、缓存、微服务与分布式、Java面试系列、高并发、数据结构与算法、计算机网络、开发工具、搜索引擎、大数据、团队管理、...流处理之序列化和打印流 Java把文件压缩成.zip压缩包和解压.zip压缩包(ZipOutputStream、ZipInputStream) 网络编程 Java网络编程入门(软件结构、网络通信协议、...Redis Windows10安装免安装版redis Linux下载安装redis和zookeeper 一文入门Redis(下载安装、Redis常见数据类型、持久化、命令和客户端操作) Redis...Java中的数据结构之常见的五种数据结构 数据结构: 栈 队列 堆 数组 链表 树 图 算法: 常见的排序算法 二分查找算法 分治算法 动态规划算法 KMP算法 贪心算法...让Typora单词拼写不冒红线 团队成长 技术影响力 系统拆分 任务规划 项目管理 项目管理工具推荐 运维 Jenkins 【云原生】持续集成和部署(Jenkins) GitLab CI
生成随机数: Math.random()是令系统随机选取大于等于 0.0 且小于 1.0 的伪随机 double 值. Random rand = newRan...
今天在家宅了一天,总算把自动化这块搞得很清楚了。 自己用uiautomator2和pytest写了一个mobile的自动化框架。跑起来很顺手很丝滑。...用java -jar,扔进去就可以了。 一个小插曲,我忘记密码了。 忘记密码,有两个处理方式 。...方式一:重置密码 修改 JENKINS_HOME/users/usernamedir 目录下的config.xml 文件 注:usernamedir 就是你忘记密码对应的用户文件夹 如果是java
点击上方“码农沉思录”,选择“设为星标” 优质文章,及时送达 今天我们就先来了解一下池化技术的必要性、原理;然后使用 Apache-common-Pool2实现一个简单的数据库连接池;接着通过实验,对比简单连接池...、HikariCP、Druid 等数据库连接池的性能数据,分析实现高性能数据库连接池的关键;最后分析 Pool2 的具体源代码实现。...connection = driver.connect(URL, props); 使用 Apache-Common-Pool2实现简易数据库连接池 下面,我们以 Apache-Common-Pool2为例来看一下池化技术相关的抽象结构...可以看到 Hikari 和 Druid 两个数据库连接池的性能是最优的,而我们的简易数据库连接池性能排在末尾。在后续系列文章中会对比我们的简易数据库分析 Hikari 和 Druid 高性能的原因。...驱逐者 Evictor,在 BaseGenericObjectPool 中定义,本质是由 java.util.TimerTask 定义的定时任务。
在上一篇文章《Java 数据持久化系列之JDBC》中,我们了解到使用 JDBC 创建 Connection 可以执行对应的SQL,但是创建 Connection 会消耗很多资源,所以 Java 持久化框架中往往不直接使用...JDBC,而是在其上建立数据库连接池层。...今天我们就先来了解一下池化技术的必要性、原理;然后使用 Apache-common-Pool2实现一个简单的数据库连接池;接着通过实验,对比简单连接池、HikariCP、Druid 等数据库连接池的性能数据...connection = driver.connect(URL, props); 使用 Apache-Common-Pool2实现简易数据库连接池 下面,我们以 Apache-Common-Pool2为例来看一下池化技术相关的抽象结构...驱逐者 Evictor,在 BaseGenericObjectPool 中定义,本质是由 java.util.TimerTask 定义的定时任务。
//down的地址https://blog.csdn.net/fyp19980304/article/details/80448060 方法一:把要存储的数据设为私有变量,然后另写函数对其进行读写,set...getY() { return y; } public void setY(int y) { this.y = y; } } 方法二: 把要存储的数据设为...class Supply implements Comparable{ int number; int max; int spend; } 3、Java中保留小数点后2位的方法(转...) import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public...s = s.trim(); 6、replace 字符串替换 st = st.replace(s, t); 在Java中,在字符串 st 中要将一段子串 s 替换成另一段子串 t,这个时候可以用 replace
Java 初识 ---- 1.1 第一个Java程序 ---- 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。...int a = 5; int b, c = a, d = 10 / 2; } } ---- 2.2 内置数据类型 ---- Java 语言提供了八种基本类型。...char 数据类型可以储存任何字符。 字符串类型: 字符串类型 String 是 Java 一个内置的类。String 表示字符串类型,属于 引用数据类型,不属于基本数据类型。...对应格式化输出: 符号 意义 %d 整数类型 %f 浮点类型 %c 字符类型 ---- 2.3 特殊转义字符 ---- Java 语言支持一些特殊的转义字符序列。...语法: final 数据类型 常量名 = 初始化值; 注意: 常量是固定值,在程序执行期间不会改变。 常量的值在定义后不能被修改,修改则会报错。
前段时间小冰在工作中遇到了一系列关于数据持久化的问题,在排查问题时发现自己对 Java 后端的数据持久化框架的原理都不太了解,只有不断试错,因此走了很多弯路。...于是下定决心,集中精力学习了持久化相关框架的原理和实现,总结出这个系列。 ? 上图是我根据相关源码和网上资料总结的有关 Java 数据持久化的架构图(只代表本人想法,如有问题,欢迎留言指出)。...JDBC 定义 JDBC是Java Database Connectivity的简称,它定义了一套访问数据库的规范和接口。但它自身不参与数据库访问的实现。...如上图所示,Java 程序只依赖于 JDBC API,通过 DriverManager 来获取驱动,并且针对不同的数据库可以使用不同的驱动。...Class#forName 作用是要求 JVM 查找并加载指定的类,如果在类中有静态初始化器的话,JVM 会执行该类的静态代码段。
有时候,我们需要数据按某种格式输出:比如下图所示的 行对齐或者列队齐,列与列之间的空格,以及float型的数据,这时候,我们用到的是Formatter的format方法 Formatter基本用法:...在写数据时,是否覆盖原本的数据问题,以及,获取的fos被系统回收等问题,均应注意 往file中写数据,首先要创建文件 /** * 创建文件 * @return */ private FileOutputStream...FileOutputStream(File file, boolean append) throws FileNotFoundException { 上述两段代码是我截取 的FileOutputStream.java...但如果你不想覆盖掉原先的内容,则需要传一个true,即: FileOutputStream fos = new FileOutputStream(file,true); 接下来就是往文件中进行格式化的写数据了...,因为每次写一个字符串, 所以我用的是String.format()来写数据 write方法是自定义的获取文件输出流对象并写数据的方法,在此省略,在每次写数据时获取fos可以很好的避免fos被系统回收
Java 集合 - Map ?...01 HashMap(数组+链表+红黑树) HashMap 根据键的 hashCode 值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。...HashMap 非线程安全,即任一时刻可以有多个线程同时写 HashMap,可能会导致数据的不一致。...这个值可以在初始化的时候设置为其他值,但是一旦初始化以后,它是不可以扩容的。...2.1 Java8 实现(引入红黑树) Java8 对 ConcurrentHashMap 进行了比较大的改动,Java8 也引入了红黑树。
Android开发中经常需要用到序列化,系统提供了两个接口用来实现, · Parcelable · Serializable 今天说下这两个接口在实现上有什么区别 Serializable Serializable...是Java提供的接口,用来标识某一个类可以被序列化,用起来非常简单,只需要implement这个接口,提供get/set方法就可以 Parcelable Parcelable是Android为了序列化而专门设计的接口类...writeToParcel 方法 · 创建 CREATEOR,并实现 createFromParcel 和 newArray 区别 好了,说完这两个接口,来总结下这两个接口的区别 · Serializable 是Java...提供的接口,本身序列化效率比 Android 的 Parcelable低 · 一般对于内存读写要求高的情况下用 Parcelable,程序间的数据传输也可以用 Parcelable · Serializable...因为 Parcelable可能会在不同Android版本间存在兼容问题,因此对于数据持久化存储的场景不建议用Parcelable
简单的说:报表就是用表格、图表等格式来动态显示数据,可以用公式表示为:“报表 = 多样的格式 + 动态的数据”。...Excel报表开发一般分为两种形式: 1、为了方便操作,基于Excel的报表批量上传数据,也就是把Excel中的数据导入到系统中。 2、通过java代码生成Excel报表。...Apache POI是Apache软件基金会的开源项目,由Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java语言操作Microsoft Office的功能。...4.2、实现用户数据的导入 4.2.1、需求 把资料中的《用户导入测试数据.xlsx》文档中的数据导入到系统中, 内容如下: 数据的导入就是读取excel中的内容,转成对象插入到数据库中 4.2.2 、...最终的目标就是读取每一行数据,把数据转成用户的对象,保存到表中 实现的步骤:1、根据上传的文件创建Workbook 2、获取到第一个sheet工作表 3、从第二行开始读取数据 4、读取每一个单元格
试想,如果有一种方法,当你本地Push代码之后,只需要在网页上点击一个按钮,或者点击按钮这一步都省略掉,再倒上一杯咖啡,你的系统已经部署到线上环境了,这样的自动化,不是更人性化吗 2.开发完成后才向类生产环境部署...java开发的一款持续集成(Continuous Integration)工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。...Jenkins是基于Java开发的一种持续集成工具,用于监控秩序重复的工作,包括: 持续的软件版本发布/测试项目。 监控外部调用执行的工作。 下面是一个官网的简单图形介绍: ?...那么接下来,我们就要开始搭建自动化部署的pipeline了。 什么,你说什么是Pipeline?好吧,简单讲解一下 ?...如果换成Java的话,就应该配置$JAVA_HOME/bin/javac 这个级别的,可执行文件~ 最后配置Maven ? ? 这里也是配置MAVEN_HOME哦。
转载自公号:刘超的通俗云计算 微信号:popsuper1982 一、持续集成对于微服务的意义:拆之前要先解决合的问题 在很多微服务化的文章中,很少会把持续集成放在第一篇,因为大多数的文章都会将如何拆的问题...最初的应用大多数是一个单体应用 一个Java后端,后面跟一个数据库,基本上就搞定了。 随着系统复杂度的增加,首先Java程序需要做的是纵向的拆分。...为了承载更多的请求,设置缓存层,将数据缓存到Memcached或者Redis中,增加命中率。 当然还有些跨服务的查询,或者非结构化数据的查询,引入搜索引擎,比关系型数据库的查询速度快很多。...九、有关数据库版本 代码可以很好的版本化,应用也可以用镜像进行原子化的升级和回滚。 唯一比较难做到的就是数据库如何版本化管理。 有一个工具flyway可以比较好的做这件事情。...当服务启动的时候,java类的migration方法会被调用,它会按照指定路径中sql语句的版本号进行排序并且按照这个排序去执行,当每一个sql文件被执行后,元数据的表就会按照格式进行更新。
image.png 本文节选自霍格沃兹测试学院内部教材 本章介绍 Web 后端开发中数据持久化技术 TKMyBatis。...MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。... mysql mysql-connector-java...,会自动填入在数据库中生成的 id 值。...2021-04-14T09:43:45.018+00:00" } 删除 DELETE http://127.0.0.1:8081/hogwartsUser/15 请求参数 见请求地址中15 响应参数 15 数据持久化技术就先讲到这里啦
作者:刘超,网易云解决方案架构师 一、持续集成对于微服务的意义:拆之前要先解决合的问题 在很多微服务化的文章中,很少会把持续集成放在第一篇,因为大多数的文章都会将如何拆的问题,例如拆的粒度,拆的时机,拆的方式...最初的应用大多数是一个单体应用: [lj1ie4mm1e.jpeg] 单体应用 一个Java后端,后面跟一个数据库,基本上就搞定了。 随着系统复杂度的增加,首先Java程序需要做的是纵向的拆分。...为了承载更多的请求,设置缓存层,将数据缓存到Memcached或者Redis中,增加命中率。 当然还有些跨服务的查询,或者非结构化数据的查询,引入搜索引擎,比关系型数据库的查询速度快很多。...九、有关数据库版本 代码可以很好的版本化,应用也可以用镜像进行原子化的升级和回滚。 唯一比较难做到的就是数据库如何版本化管理。 有一个开源工具 flyway 可以比较好的做这件事情。...当服务启动的时候,java类的migration方法会被调用,它会按照指定路径中sql语句的版本号进行排序并且按照这个排序去执行,当每一个sql文件被执行后,元数据的表就会按照格式进行更新。
这里镜像制作分为 2 部分: 第一部分:Mysql 镜像制作,包含 Sonar 数据库和 Sonar 用户创建,导入 Sonarqube 初始化数据,启动 Mysql。...配置 SonarQube Server 访问数据库用户的权限。...sonar.sql sonarqube 初始化配置的数据库表和数据。 init_sonar.sql 将 sonar 数据库表和数据导入 sonar 数据库。...3.3 Jenkins Slave 制作 Jenkins Java Slave 我们参考的官网制作并添加了一些我们自己包(官方提供的 jenkins/ssh-slave,官方文档中有说明,这个镜像安装了...JDK 和 sshd,有兴趣的同学也可以自己制作),其中 Nodejs 、Python Slave 制作和 Java Slave 类似,网上也有资料这里就不详细介绍了。
领取专属 10元无门槛券
手把手带您无忧上云