首页 文章 精选 留言 我的

精选列表

搜索[Java],共10000篇文章
优秀的个人博客,低调大师

Java编程基础阶段笔记 day05 数组

​数组 笔记Notes 数组介绍 数组的声明 数组初始化 数组元素默认值 数组复制 数组反转 数组查找:线性查找、二分查找 数组排序:冒泡排序 数组介绍 数组名: 创建数组内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。 下标(或索引):从0开始 数组是引用数据类型, 元素相当于类的成员变量, 数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化 数组中的元素可以是基本数据类型也可以是引用数据类型 数组的声明 声明:String[] names; int scores[]; 数组初始化:静态初始化、动态初始化 静态初始化:数组的初始化和赋值是同时进行的 names = new String{"12","34","56","78"}; 动态初始化:数组的初始化和赋值分开进行 String[] names2 = new String[5]; names2[0] = "123"; 下面的方式数组的声明和初始化不能分开。 int[] age = { 1, 2, 3, 4, 5, 6 }; 数组元素的默认值 byte、short、int、long -->0 float、double --->0.0 bolean --> u0000 引用数据类型(类、数组、接口)--->null 一维数组内存解析 String[] persons = new String[3]; String[] persons2 = persons; //persons 和 persons2 实际上指向的是同一块内存 堆、栈、方法区 堆(heap):用来存放对象的实例,只要是new出来的都在堆里 栈(stack): 存储局部变量, 如基本数据类型、对象引用(reference类型,它不等同于对象本身,是对象在堆内存的首地址) 方法区(Method Area):用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。 总结Summary 静态初始化与动态初始化 数组反转 数组查找:二分查找 数组排序:冒泡排序

优秀的个人博客,低调大师

【从入门到放弃-Java】并发编程-线程安全

概述 并发编程,即多条线程在同一时间段内“同时”运行。 在多处理器系统已经普及的今天,多线程能发挥出其优势,如:一个8核cpu的服务器,如果只使用单线程的话,将有7个处理器被闲置,只能发挥出服务器八分之一的能力(忽略其它资源占用情况)。同时,使用多线程,可以简化我们对复杂任务的处理逻辑,降低业务模型的复杂程度。 因此并发编程对于提高服务器的资源利用率、提高系统吞吐量、降低编码难度等方面起着至关重要的作用。 以上是并发编程的优点,但是它同样引入了一个很重要的问题:线程安全。 什么是线程安全问题 线程在并发执行时,因为cpu的调度等原因,线程会交替执行。如下图例子所示 public class SelfIncremental { private static int count; public static void main(S

优秀的个人博客,低调大师

突破Java面试(36)-聊聊Dubbo的SPI机制

0 Github 1 面试题 Dubbo中的SPI是什么? 2 考点分析 前面基础性的东西问完了,确定你应该了解Dubbo,那么自然问个稍微难的问题,就是SPI,先问问你这是个啥,然后问问你怎么实现的! 其实就是看看你对dubbo的掌握如何 3 SPI简介 SPI 全称为 Service Provider Interface,是一种服务发现机制. 说白了是啥呢,比如你有个接口,该接口有3个实现类,那么在系统运行时,这个接口到底选择哪个实现类呢?这就需要SPI了,需要根据指定的配置或者是默认的配置,找到对应的实现类加载进来,然后使用该实现类的实例. 接口A => 实现A1,实现A2,实现A3配置一下,接口A = 实现A2在系统实际运行的时候,会加载你的配置,用实现A2实例化一个对象来提供服务 比如说你要通过jar包的方式给某个接口提供实现,然后

优秀的个人博客,低调大师

突破Java面试(24)-Redis的持久化机制

0 Github Github 面试题 Redis的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的? 考点分析 Redis如果仅仅只是将数据缓存在内存里面,假若宕机了,再重启,内存里的数据就全部丢失了! 你必须得用Redis的持久化机制,将数据写入内存的同时,异步的慢慢的将数据写入磁盘 若Redis宕机了,重启启动,自动从磁盘上加载之前持久化的一些数据即可,也许会丢失少许数据,但至少不会将所有数据都弄丢 针对的都是Redis的生产环境可能遇到的一些问题,就是Redis要是挂了再重启,内存里的数据不就全丢了?能不能重启的时候把数据给恢复了? 1 Redis持久化的意义 很多同学,自己也看过一些redis的资料和书籍,当然可能也看过一些redis视频课程 所有的资料,其实都会讲解redis持久化,但是有个问题,我到目前

优秀的个人博客,低调大师

突破Java面试(25)-Redis集群模式的原理

1 面试题 Redis集群模式的工作原理说一下?在集群模式下,key是如何寻址的?寻址都有哪些算法?了解一致性hash吗? 2 考点分析 Redis不断在发展-Redis cluster集群模式,可以做到在多台机器上,部署多个实例,每个实例存储一部分的数据,同时每个实例可以带上Redis从实例,自动确保说,如果Redis主实例挂了,会自动切换到redis从实例顶上来。 现在新版本,大家都是用Redis cluster的,也就是原生支持的集群模式,那么面试官肯定会就redis cluster对你来个几连炮。要是你没用过redis cluster,正常,以前很多人用codis之类的客户端来支持集群,但是起码你得研究一下redis cluster 3 Redis如何在保持读写分离+高可用的架构下,还能横向扩容支撑1T+海量数据 redis单mast

优秀的个人博客,低调大师

突破Java面试(18)-消息队列面试技巧总结

Github 其实如果我是面试官的话,我如果感觉你都把刚才那些问题都答出来了,我可能会继续刨根问底,深挖,问你,直到把你给问倒 消息队列,kafka,复制的底层原理,leader选举的算法,增加partition以后的rebalance算法,扣很多很多的细节,如何优化kafka写入的吞吐量 其实这块如果挖深了可以问的极其深,如果是我来深挖,可能会挖到ES底层的相关度评分算法(TF/IDF算法)、deep paging、上千万数据批处理、跨机房多集群同步、搜索效果优化,等等很多的实际生产问题。 一种比较水的面试官,他可能还掌握不到我们这个面试突击教程水准,他其实连我们教程里的这些问题都没问到位 比较nice的面试官,问的差不多了,对你还挺欣赏的,基本上就让你过了 比较hard的面试官,干倒,虐你,故意要让你出丑,我不是这种,我只不过严格,我希望

优秀的个人博客,低调大师

【从入门到放弃-Java】并发编程-NIO使用

前言 上文【从入门到放弃-SpringBoot】SpringBoot源码分析-请求过程中我们了解到,tomcat接收、返回请求的过程都是基于NIO实现的。日常工作中有很多基于NIO的使用,我们知道NIO可以提高系统的并发度,接下来的系列我们来深入学习下NIO,本文先从使用上简单概述。 NIO概述 NIO即non-blocking(New IO),是指jdk1.4 及以上版本里提供的新api。 NIO和IO最大的区别:IO是以流的方式处理数据,而NIO是以块的方式处理数据;IO对事件的处理是阻塞的,NIO是非阻塞的 NIO的核心部分: Channel Buffer Selector NIO主要分为标准输入输出和网络请求 标准输入输出NIO 读取 private static void readNio() { try { //1、开启

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册