Java
文章平均质量分 75
TheHarrySky
There is nothing to be feared,it is just needed to be understand!
The individual has always had to struggle to keep from being overwhelmed by the tribe.
Stay hungry!Stay foolish!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
CDN,Content Distribute Network,Content Delivery Network
CDNCDNCDN是什么?IDC是什么?IDC与CDN什么关系?IDC的分布情况?IDC与CDN计费方式?CDN容器化优势?CDN容器化过程?ReferenceCDNCDN是什么?通过中心平台的负载均衡内容分发,调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN,Content Distribute Network 或Content Delivery Network ,即内容分发网络或内容交付网络,主要为网站提供访问加速的功能。其基本思路是尽可能避开互联网上原创 2022-02-22 14:39:13 · 372 阅读 · 0 评论 -
常见排序算法Java版实现(algorithm)
排序算法排序算法简介排序算法类型排序算法可以分为内部排序和外部排序。内部排序是数据记录在内存中进行排序。外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:稳定的排序算法:冒泡排序、插入排序、归并排序和基数排序。不是稳定的排序算法:选择排序、快速排序、希尔排序、堆排序。稳定性:排序后2个相等键值的顺序和排序之前原创 2022-02-11 15:29:07 · 924 阅读 · 0 评论 -
T4、5K、ECS、云原生、异地多活、混合云、混部
5K、ECS、云原生、异地多活、混合云、混部前言ECSECS是什么?如何理解ECS做的事情?POD是什么?Docker 与 Name Space、Control Groups的关系?POD的本质是什么?K8S是什么?5K如何理解云计算的诞生?如何理解云计算底层的技术挑战?5K是什么?云原生、异地多活、混合云、混部什么是云原生?什么是异地多活?什么是数据中心?什么是混合云?什么是混部?阿里的混部技术发展?混部需要解决的问题?ReferenceA Word前言技术很多时候在围绕资源扩充(横向扩容、弹性扩容原创 2022-02-07 13:14:43 · 1107 阅读 · 0 评论 -
currentPackage(CAS、AQS、CLH、LOCK、ReentrantLock、CountDownLatch等)
currentPackage目录currentPackageCAS(Compare and Swap)CAS是什么?CAS原理?有什么特性?AbstractQueuedSynchronizer(AQS)AQS是什么?AQS核心思想?AQS原理?CLH(Craig,Landin,and Hagersten)队列是?AQS实现?独占与共享?LockReentrantLock:基于AQS的一个同步组件可重入状态如何记录?CountDownLatchCompletableFutureCyclicBarrierSe原创 2022-01-09 19:58:53 · 685 阅读 · 0 评论 -
RestFul、SOAP、RPC、SOA、微服务、分布式
RestFul、SOAP、RPC、SOA、微服务、分布式Web主流通信方案(RestFul、SOAP)RestFul(Representational State Transfer)SOAP(Simple Object Access Protocol)RPC(Remote Procedure Call)SOA(Service Oriented Architecture)RPC和SOAP都是SOA的具体实现微服务分布式ReferenceWeb主流通信方案(RestFul、SOAP)RestFul(Repr原创 2022-01-09 10:41:33 · 543 阅读 · 0 评论 -
一个线程有多大?
一个线程占用JVM多大内存?java里每新起一个线程,jvm会向操作系统请求新起一个本地线程,此时操作系统会用空闲的内存空间来分配这个线程。所以java里线程并不会占用jvm的内存空间,而是会占用操作系统空闲的内存空间。jdk1.4默认的单个线程是占用256k的内存jdk1.5+默认的单个线程是占用1M的内存可以通过-Xss参数设定,一般默认就好PCB:进程控制块标识、文件、内存、优先级、上下文信息、状态、信号、I/O相关。在32位平台下,系统会给一个进程分配4G的虚拟原创 2022-01-08 18:05:50 · 2521 阅读 · 0 评论 -
Spring之AOP相关概念理解
切面切面在指定的连接点被织入到目标对象中。连接点:joinPoint方法的前前后后都可以是连接点。连接点(Join point):连接点是在应用执行过程中能够插入切面的一个点。通知:advice 指定 何时?通知:advice,比如:安全、事物、日志等通知(Advice):切面的工作被称为通知。通知定义了切面是什么以及何时使用。除了描述切面要完成的工作,通知还解决了何时执行这个工作的问题。前置通知(Before):在目标方法被调用之前调用通知功能后置通知(After):在目标方法完成原创 2022-01-08 18:00:56 · 164 阅读 · 0 评论 -
MySql两个日期字符串相减
MySql两个日期字符串相减SELECT id,(UNIX_TIMESTAMP(DATE_FORMAT(end_time, '%Y-%m-%d %H:%i:%s')) - UNIX_TIMESTAMP(DATE_FORMAT(start_time, '%Y-%m-%d %H:%i:%s')))/60/60 as diff_hours FROM `your_table_name` where start_time > 0order by diff_hours desc;...原创 2022-01-04 09:41:51 · 2058 阅读 · 0 评论 -
线程池监控与管理
线程池监控与管理Java线程池创建工作线程Worker的流程图Executor、ExecutorService、ThreadPoolExecutorExecutor:public interface Executor { /** * Executes the given command at some time in the future. The command * may execute in a new thread, in a pooled thread,原创 2021-12-20 09:30:56 · 240 阅读 · 0 评论 -
自旋锁实现理解
文章目录自旋锁实现理解锁类型一种自旋锁的简单实现TicketLock实现CLHLockMCSLockCLH锁与MCS锁的比较Reference自旋锁实现理解锁类型可重入锁:基于线程维度,递归锁定、再一层一层释放。可中断锁:等待锁期间可以被中断。公平锁:等待时间最长的锁优先被给到。读写锁:读写分离,一个读锁,一个写锁,提高并发。自旋锁:自旋是一种"原地忙等"策略,线程未获得锁则原地等待,不去睡眠,直到锁被释放,即不放弃CPU时间片,避免线程进入阻塞状态的开销(线程的阻塞挂起处原创 2021-12-19 18:46:39 · 806 阅读 · 0 评论 -
多线程之线程状态机
线程的状态图解线程状态简单图解线程状态详细图解线程状态机图解线程状态语义New:初始状态实现Runnable接口和继承Thread可以得到一个线程类,new一个实例出来,线程就进入了初始状态。Runnable之Ready:就绪状态具备运行的前提条件,等待被执行。(万事俱备,只欠东风)调用线程的start()方法,此线程进入就绪状态。当前线程sleep()方法结束,其他线程join()结束,等待用户输入完毕,某个线程拿到对象锁,这些线程也将进入就绪状态。当前线程时间片用完了,原创 2021-12-19 15:34:44 · 2064 阅读 · 0 评论 -
多线程之线程池
Java并发&锁&多线程Java并发进程与线程任何事物都需要不同粒度的划分。豆腐要一块一块卖。程序要一个一个跑。这里的一个一个跑,不是指串行,而是指资源的划分,执行程序的界定。什么是进程?百度百科进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体。在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述原创 2021-10-16 19:39:31 · 222 阅读 · 0 评论 -
ThreadLocal原理
文章目录ThreadLocal源码ThreadLocal类内部常用方法:源码分析:应用场景:重要思想:table的下标是如何计算的?静态内部类的设计意图?ThreadLocal Value为什么不是弱引用?ReferenceThreadLocalThreadLocal作用是存储线程局部变量。空间解决并发共享变量冲突问题,为每个线程分别持有自己的存储空间,存储相应的值(分身独有)。源码ThreadLocal类内部常用方法:// ThreadLocal values pertaining to t原创 2021-12-19 09:59:03 · 297 阅读 · 0 评论 -
Synchronized关键字实现原理
Synchronized关键字实现原理Synchronized关键字实现原理基础概念原理实现Mark WordMonitor同步代码块原理同步方法原理synchronized锁的优化Lock锁与synchronizedReferenceSynchronized关键字实现原理基础概念修饰的类或者对象的所有操作都是原子的。是实现线程同步的关键字。修饰执行的代码块必须获得对象sync Object。执行前先获得类或者对象的锁,直到执行完才能释放,中间过程无法被中断。原理实现Mark Word原创 2021-12-18 11:32:53 · 274 阅读 · 0 评论 -
unSafe是什么?
unSafeunSafeJava中unSafe类是什么?如何使用?应用?ReferenceunSafeJava中unSafe类是什么?java.util.concurrent包或者java.nio包中经常会看到sun.misc.Unsafe,类如其名,就是不建议使用(不安全、不轻便、不稳定)的、可以用于观察HotSpot JVM内部结构并且可以对其进行修改的一个“后门类”。(有时也可以用来做性能监控和开发工具)Java官方不推荐使用,因为很难正确使用,如果使用错误会给JVM带来致命问题。但是很多原创 2021-12-08 19:25:12 · 746 阅读 · 0 评论 -
线程池文章
线程池存在意义Executors实现分析Reference存在意义线程长连接,比如文件下载,网络请求不是很频繁,正常使用线程。线程短连接,频繁的读写,获取连接,关闭连接,对服务资源可能造成很大浪费,策略机制保障效能,所以有线程池。Executors使用方式:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,原创 2021-11-28 15:59:40 · 300 阅读 · 0 评论 -
EventBus
EventBusEventBus是什么?EventBus特性?EventBus使用?EventBus源码?ReferenceEventBus是什么?EventBus is a publish/subscribe event bus for Android and Java.EventBus特性?1. 发送者 接收者 解耦。发布-订阅模式框架。让多个观察者对象同时监听某一个主题对象。2. 在活动、片段和后台线程中表现良好。3. 避免复杂且容易出错的依赖关系和生命周期问题。4. 让代码更简洁。原创 2021-11-28 15:50:35 · 230 阅读 · 0 评论 -
Disruptor
DisruptorDisruptor是什么?高性能的异步处理框架,一个轻量级的JMS,和JDK中的BlockingQueue有相似处。处理速度非常快,号称“一个线程一秒钟可以处理600W个订单”。什么是JMS?Java Message Service(JMS):可以理解为一种消息通讯的规范和标准,即异步通讯的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建、发送、读取消息等,用于支持JAVA应用程序开发。JMS与RMI不同,发送消息的时候,接收者不需要在线。服务器发送了消息,原创 2021-11-14 18:03:56 · 1146 阅读 · 0 评论 -
Spring中@within与@target的区别
区别:@within:定义在哪里,就作用在哪里。(有点静态编译的味道)@target:运行在哪里,就作用在哪里。(类比动态执行的感觉)其实用@target更符合我们想要的结果,在某个类上面加一个注解,拦截的时候就会获取这个类上面的注解,跟父类完全没有关系了。但这个时候会遇到一个问题,就是不相关的类都会生成代理类。...原创 2021-11-12 15:26:06 · 1022 阅读 · 0 评论 -
Sentinel
Sentinel如何确定限流的具体QPS?需要找到临界点。临界点之前:压力测试线性增大QPS,TPS也在逐步提高,时延相对稳定。临界点附近:压力测试线性增大QPS,TPS负载接近满额(达到峰值),服务中请求处理出现排队情况,时延非线性上涨。临界点之后:压力测试线性增大QPS,计算资源超额负载,进一步导致GC,进程调度、网络等资源压力导致TPS迅速下降(反噬),请求排队过长,导致时延进一步指数级上升,最终导致服务资源耗尽导致宕机无响应等情况。将TPS定点附近值作为对QPS的限制阈值相对理想。原创 2021-10-22 15:30:35 · 324 阅读 · 0 评论 -
Tair理解
TairTair是什么?淘宝开发的、分布式的、key/value存储引擎。Tair怎么存数据?支持内存存储。支持文件存储:LDB引擎,SSD磁盘上的LevelDB存储引擎。Tair靠谱吗?线上热扩展,自动负载均衡。(Tair负载均衡:一致性哈希算法)桶的分布均衡行->数据分布的均衡性。主备存储->高可用。数据存储:持久化。多单元机房自动同步。Tair适用场景?通过Tair来加速以及承担大流量的目的。淘宝天猫用户登陆、浏览商品详情页、购物车信息等。Ta原创 2021-10-16 19:42:54 · 524 阅读 · 0 评论 -
IGraph
IGraph1. 建模时考虑的方面: 1.1 查询性能 1.2 存储空间 1.3 更新成本2. kv 还是 kkv 2.1 a->b,b->c存储: 额外的查询、更少的存储、更新更低成本。(适合属性规模大、有更新需求) 2.2 a->bc存储: 查询优、冗余存储、更新成本高。(适合查询性能要求高)3. 关系召回:与我最近购买的商品相似的商品。4. primary key:源端到关系hash定位,O(1)。 secondary key:目标端meta信息。原创 2021-10-16 19:38:16 · 356 阅读 · 0 评论 -
canal
canal干货译意:水道/管道/沟渠。用途:是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。由来我们都知道一个系统最重要的是数据,数据是保存在数据库里。但是很多时候不单要保存在数据库中,还要同步保存到Elastic Search、HBase、Redis等等。异地介质存储,需要数据同步。能力优势:对业务代码没有侵入,因为是基于监听binlog日志去进行同步数据的。实时性也能做到准实时,其实是很多企业一种比较常见的数据同步的方案。(异步解耦)实现ca原创 2021-10-16 19:36:05 · 261 阅读 · 0 评论 -
软负载之理解
软负载域名管理策略机制域名管理:软负载名字服务发现服务1. 域名映射机器,全量心跳检测->分量心跳检测(分而治之思想)2. 同机房优先策略,同网段优先、同单元优先等(服务提供方与服务调用方之间的“就近原则”)。3. 流量分配管控承载机制: 3.1 单打独斗不行,则找帮手。全局能力允许,则保障一致性。 引入“跨机房保护策略”,用于决定要不要跨机房。 跨机房保护策略:设定单个机房服务器可用比例阈值,低于阈值(说明单个机房的可用机器已不足以独立支撑),当前机房服务器不可用原创 2021-10-16 19:24:34 · 583 阅读 · 0 评论 -
性能优化篇
性能优化性能优化相关概念如何理解JDK、JRE和JVM?JDK(Java Develop Kit):Java开发工具。编译成对应特定机器码。JRE(Java Resource Environment):Java运行环境。只能运行.class文件,不能编译.class文件。JRE + 各种Java工具(javac/java/jdb等) + Java基础的类库(即Java API 包括rt.jar) 等效于 JDK。其中,rt.jar是基础类库。JVM(Java Virtual Ma原创 2021-10-09 14:56:36 · 373 阅读 · 0 评论 -
Redis
RedisRedis是为了解决什么问题?Redis是什么?Redis:RemoteDictionaryServer(远程数据服务),是一个开源的、基于内存的数据结构存储器,可以用作数据库、缓存和消息中间件,最受欢迎的NoSQL数据库之一。遵守BSD协议:基本上是为所欲为,不作恶的意思。可以二次开发后商业销售,但是不可以借用原软件的名义进行推广。开源但尊重原作者。单操作原子性,多操作支持事务。Redis能干什么?(广)解决高并发。丰富数据类型,数据结构灵活,方便扩展。(key-va原创 2021-10-09 14:54:24 · 337 阅读 · 0 评论 -
JVM&JMM
JVM&JMMJVMJVM是什么?线程共享部分: 1. 方法区:包括Class元数据、常量、静态变量、运行时常量池、JIT编译后的机器码也在方法区。 2. 堆区:实例对象、字符串常量池。线程独享部分: 1. 程序计数器(PC寄存器):指向当前正在运行的指令地址。 2. Java虚拟机栈(栈内存):保存局部变量表、基本数据类型、堆内存中对象引用变量以及方法返回地址。 3. 本地方法栈:调度native方法。什么是程序计数器?程序计数器(Program Counte原创 2021-09-23 20:44:07 · 233 阅读 · 0 评论 -
Java时间工具类
package common;import com.ali.com.google.common.reflect.TypeToken;import com.google.gson.Gson;import lombok.extern.slf4j.Slf4j;import org.springframework.stereotype.Component;import java.text.SimpleDateFormat;import java.util.*;import java.util.st原创 2021-08-01 22:42:06 · 916 阅读 · 0 评论 -
天天JAVA:Flink
Flink为什么需要Apache Flink(流式处理计算)?当代数据激增。Apache Spark 取代 MapReduce 成为当前大数据处理标准。实时数据处理的重要性。Apache Flink 开源社区佼佼者:高吞吐、低延迟、高性能的分布式处理框架。基础特性Lambada:实时数据处理(Storm、Spark Streaming)+全量数据处理(MapReduce、Spark)。实时+全量的架构统一:将数据切分成微批的处理模式进行流式数据处理。流批一体原创 2021-07-04 18:03:39 · 326 阅读 · 2 评论 -
天天JAVA:Event Loop模式
Event Loop模式什么是同步、异步、阻塞、非阻塞?如果所有的调用都是立即返回结果,不存在执行等待(I/O通信->执行等待,资源等待->服务挂起),就不需要异步和阻塞。同步/异步:主要体现在调用方发起请求后,是自己主动探查结果反馈(同步),还是被动由服务提供方告知反馈结果(异步)。阻塞/非阻塞:主要体现在调用方发起请求后,在等待结果反馈期间,是原地不动(阻塞),还是统筹时间干别的事情去(非阻塞)。消息通信机制层面理解:同步 or 异步同步:调用方调用,调用方主动询问。异步:原创 2021-07-04 18:02:37 · 561 阅读 · 0 评论 -
天天JAVA:Docker
Docker什么是镜像?镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,他包含运行某个软件所需的所有内容,包括代码、运行时库、环境变量和配置文件。所有应用,直接打包docker镜像,就可以直接跑起来!Docker镜像采用分层结构:下载的时候是一层一层的下载。使用的时候,宿主机只需在磁盘上保留一份base镜像,同时内存中也只需要加载一份base镜像,就可以为所有的容器服务,而且镜像的每一层都可以被共享。(目的:共享)Docker 镜像都是只读的,当容器启动时,一个原创 2021-07-04 18:01:17 · 282 阅读 · 0 评论 -
天天JAVA:缓存
缓存为什么需要缓存?高性能:mysql数据库查询耗时可以达到几十到几百毫秒,短时间内频繁的读取不变的数据是对性能极大的浪费,而缓存可以优化到几毫秒。(缓存有更高的性能)高并发:mysql数据库单机支撑2000QPS可能就要报警了,所以高峰期每秒上万的请求量,会导致单机mysql数据库崩溃。而缓存单机可以支撑每秒几万到十几万的并发量,单机承载并发量是mysql单机的几十倍。(缓存支持更高的并发)缓存有什么问题?缓存穿透:不存在的或恶意的请求,量大,绕过缓存,打到数据库上。(恶意或无意原创 2021-07-04 17:51:40 · 269 阅读 · 2 评论 -
天天JAVA:磁盘
磁盘磁盘由来?数据需要存储,存储需要载体。计算机外部存储器中类似磁带的装置:磁盘。磁盘和硬盘什么关系?磁盘分为硬盘(机械硬盘)和软盘。硬盘可分为机械硬盘(Hard Disk Drive, HDD)和固态硬盘(Solid State Disk, SSD),机械硬盘采用磁性碟片来存储数据,而固态硬盘通过闪存颗粒来存储数据。狭义的磁盘就是指机械硬盘等磁介质存储的硬盘,有别于ssd。广义的磁盘(常见于文件系统翻译,比如磁盘空间不足)就是硬盘,ssd也属于其中。磁盘长什么样?磁盘结构:圆形盘片。同心原创 2021-07-04 17:50:27 · 209 阅读 · 0 评论 -
天天JAVA:JMM是什么?
title: JMM是什么?tags: JMM、多线程、并发categories: Java基础JMM由来通信机制特性有序性:人类通信,双方要遵从逻辑和顺序。互斥性:不能同时说话,自说自话,要一方在说,一方在听,交互进行。时效性:多方交流,要保障信息的传递者所说的,和其余接收者所听的,都是一样的。不能我说起立,坐下之后,有的人已经坐下,有的人却才听到起立。信息没有时效性,会导致行为的不同步、不一致。人类通信方式消息传递:我和你说,你和我说。(隐式的约定,各自遵守:互斥性、时效性.原创 2021-07-04 17:42:45 · 195 阅读 · 0 评论 -
天天JAVA:UUID是什么?
title: UUID是什么?tags: UUIDcategories: Java基础UUID由来每个个体都是独一无二的存在指纹信息:与生俱来的独有印记。身份证号码:你的唯一标识,世界给你的独有编码。世界的秩序、个体间的沟通交流,都离不开独一无二的你。分布式系统中,每个元素也都是独一无二的存在分布式系统需要建立秩序。(有序的)分布式系统中的元素需要沟通交流。(互动的)所以,分布式系统中的所有元素都需要唯一的辨识信息。(唯一标识)并且,我们希望这个唯一的辨识信息是”指纹信息.原创 2021-07-04 17:41:10 · 278 阅读 · 0 评论 -
天天JAVA:Volatile是什么?
title: Volatile是什么?tags: Volatile、原子性、有序性、可见性、MESI、Store Bufferes、失效队列、JITcategories: Java基础Volatile(易变的、无常的、不稳定的)由来CPU与内存步调不一致摩尔定律:处理器性能每隔两年翻一倍。(摩尔经验之谈)CPU一秒钟能够存取、处理十亿条指令和数据。(CPU主频一个G,而快的内存也就几十兆~)CPU执行指令速度太快!内存(主存:堆共享)存取跟不上~(多次频繁存取主存相同数据令CPU很难受.原创 2021-07-04 17:39:50 · 301 阅读 · 2 评论 -
天天JAVA:负载
title: 什么是负载(LOAD)?tags: LOAD、load、负载categories: Java基础负载由来检票员工作状态如何衡量?假定检票员每分钟最多可以检票10个人,我们用数字10来表示检票员的最大工作效能。如果每分钟来10个人检票呢?刚刚好!检票员马不停蹄的检票,可以保证每分钟内来的人都能检上票。我们同样用数字10来表示每分钟来检票的人数,即:客流量/分钟。如果每分钟来20个人检票呢?肯定忙不过来呀!每分钟有10个人堆积需要排队等待。此时的客流量/分钟记为20。如果每.原创 2021-07-04 17:38:12 · 200 阅读 · 0 评论 -
天天JAVA:序列化与反序列化
title: 序列化与反序列化?tags: 序列化与反序列化、serialVersionUID、transientcategories: Java基础序列化与反序列化由来文件信息的诉求索引定位(高效的、确定的)备份还原(一致的、少冗余)传递交流(完整的、便捷的)Java对象的诉求(类比文件信息)索引定位(高效的、确定的):引用锁定对象真身。备份还原(一致的、少冗余):持久化对象真身。传递交流(完整的、便捷的):?能力如何完整的、便捷的在网络中传递Java对象?序列化对.原创 2021-07-04 17:36:04 · 153 阅读 · 0 评论 -
天天JAVA:CopyOnWriteArrayList是什么?
CopyOnWriteArrayList是什么?JAVA并发容器。容器->读写操作。顾名思义,就是装数据的,核心操作就是存和取,即:写和读。并发->读写冲突。潜台词意味着冲突,读和写操作自由组合有4种情况,分别是:读读操作(1)读写操作(2)写读操作(3)写写操作(4)(1)并不涉及数据一致性问题,即:读读无冲突,不存在数据的修改。(2)(3)(4)有冲突,需要解决数据一致性问题。啥问题?真实应用场景读写比重情况各异。真实应用场景读写比重是不确定的,可原创 2021-04-05 21:56:02 · 241 阅读 · 0 评论 -
程序员后端开发苹果电脑常用快捷键(实用版)
程序员常用快捷键MBP(Mac Book Pro)快捷键锁屏截全屏选择截屏强制退出某个应用(类比windows下任务管理器)撤销剪切拷贝(Copy)粘贴全选(All)保存(Save)当前窗口查找(Find)刷新(Refresh)切换窗口聚焦搜索???? 可以全局查找,比如:终端等进入指定目录快捷键显示所有的隐藏文件F12切换为英文大写MBP Terminal Commandlist all 根目录查看该目录下的详细信息查看文件内容输出环境变量路径查看JAVA版本新建用户环境变量配置隐藏文件打开编辑当前文本编原创 2020-05-19 07:52:05 · 1069 阅读 · 0 评论
分享