首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java学习笔记【持续更新】

我们以后缀名为123.java为例,进行java源文件的解析: 我们存放123.java的地址在D:/day1> 此时我们只要输入javac 123.java,在指定文件夹处立刻会生成一个class文件...在D:\day1>输入java Sakura.class/java Salura,运行结果如下: ?...成员变量只能被对象调用; 静态变量可以被对象调用,还可以被类名调用 3.别名不同: 成员变量也称为实例变量 静态变量称为类变量 4.数据存储位置不同 成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据...静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据 静态使用的注意事项: 1.静态方法只能访问静态成员,(非静态既能访问静态,又可以访问非静态) 2.静态方法中不可以使用this或者...,就是对象的持有数据,必须存储在对象中,是非静态的 如果是相同的数据,对象不需要做修改,只需要使用即可,不需要存储在对象中,定义成静态的 2.静态函数: 函数是否用静态修饰,就参考一点,就是该函数功能是否有访问到对象中的特有数据

1.3K50
您找到你想要的搜索结果了吗?
是的
没有找到

最新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

3.5K21

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 定义的定时任务。

54520

Java 数据持久系列之池技术

在上一篇文章《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 定义的定时任务。

50000

Java 语法基础(持续更新中)

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 数据类型 常量名 = 初始值; 注意: 常量是固定值,在程序执行期间不会改变。 常量的值在定义后不能被修改,修改则会报错。

67110

Java 数据持久系列之JDBC

前段时间小冰在工作中遇到了一系列关于数据持久的问题,在排查问题时发现自己对 Java 后端的数据持久框架的原理都不太了解,只有不断试错,因此走了很多弯路。...于是下定决心,集中精力学习了持久相关框架的原理和实现,总结出这个系列。 ? 上图是我根据相关源码和网上资料总结的有关 Java 数据持久的架构图(只代表本人想法,如有问题,欢迎留言指出)。...JDBC 定义 JDBC是Java Database Connectivity的简称,它定义了一套访问数据库的规范和接口。但它自身不参与数据库访问的实现。...如上图所示,Java 程序只依赖于 JDBC API,通过 DriverManager 来获取驱动,并且针对不同的数据库可以使用不同的驱动。...Class#forName 作用是要求 JVM 查找并加载指定的类,如果在类中有静态初始器的话,JVM 会执行该类的静态代码段。

59810

Java中格式输出数据

有时候,我们需要数据按某种格式输出:比如下图所示的 行对齐或者列队齐,列与列之间的空格,以及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被系统回收

40620

Java数据的序列总结

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

22520

Java数据可视:报表技术

简单的说:报表就是用表格、图表等格式来动态显示数据,可以用公式表示为:“报表 = 多样的格式 + 动态的数据”。...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、读取每一个单元格

2.6K40

Jenkins自动部署-----持续交付【转】

试想,如果有一种方法,当你本地Push代码之后,只需要在网页上点击一个按钮,或者点击按钮这一步都省略掉,再倒上一杯咖啡,你的系统已经部署到线上环境了,这样的自动,不是更人性吗 2.开发完成后才向类生产环境部署...java开发的一款持续集成(Continuous Integration)工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。...Jenkins是基于Java开发的一种持续集成工具,用于监控秩序重复的工作,包括: 持续的软件版本发布/测试项目。 监控外部调用执行的工作。 下面是一个官网的简单图形介绍: ?...那么接下来,我们就要开始搭建自动部署的pipeline了。 什么,你说什么是Pipeline?好吧,简单讲解一下 ?...如果换成Java的话,就应该配置$JAVA_HOME/bin/javac 这个级别的,可执行文件~ 最后配置Maven ? ? 这里也是配置MAVEN_HOME哦。

1.2K50

微服务的基石:持续集成

转载自公号:刘超的通俗云计算 微信号:popsuper1982 一、持续集成对于微服务的意义:拆之前要先解决合的问题 在很多微服务的文章中,很少会把持续集成放在第一篇,因为大多数的文章都会将如何拆的问题...最初的应用大多数是一个单体应用 一个Java后端,后面跟一个数据库,基本上就搞定了。 随着系统复杂度的增加,首先Java程序需要做的是纵向的拆分。...为了承载更多的请求,设置缓存层,将数据缓存到Memcached或者Redis中,增加命中率。 当然还有些跨服务的查询,或者非结构数据的查询,引入搜索引擎,比关系型数据库的查询速度快很多。...九、有关数据库版本 代码可以很好的版本,应用也可以用镜像进行原子的升级和回滚。 唯一比较难做到的就是数据库如何版本管理。 有一个工具flyway可以比较好的做这件事情。...当服务启动的时候,java类的migration方法会被调用,它会按照指定路径中sql语句的版本号进行排序并且按照这个排序去执行,当每一个sql文件被执行后,元数据的表就会按照格式进行更新。

64021

微服务的基石——持续集成

作者:刘超,网易云解决方案架构师 一、持续集成对于微服务的意义:拆之前要先解决合的问题 在很多微服务的文章中,很少会把持续集成放在第一篇,因为大多数的文章都会将如何拆的问题,例如拆的粒度,拆的时机,拆的方式...最初的应用大多数是一个单体应用: [lj1ie4mm1e.jpeg] 单体应用 一个Java后端,后面跟一个数据库,基本上就搞定了。 随着系统复杂度的增加,首先Java程序需要做的是纵向的拆分。...为了承载更多的请求,设置缓存层,将数据缓存到Memcached或者Redis中,增加命中率。 当然还有些跨服务的查询,或者非结构数据的查询,引入搜索引擎,比关系型数据库的查询速度快很多。...九、有关数据库版本 代码可以很好的版本,应用也可以用镜像进行原子的升级和回滚。 唯一比较难做到的就是数据库如何版本管理。 有一个开源工具 flyway 可以比较好的做这件事情。...当服务启动的时候,java类的migration方法会被调用,它会按照指定路径中sql语句的版本号进行排序并且按照这个排序去执行,当每一个sql文件被执行后,元数据的表就会按照格式进行更新。

1.4K90
领券