- kotlin与MVVM结合使用总结(一)
每次的天空
kotlin开发语言android
一、Kotlin与MVVM结合的核心优势代码简洁性数据类(dataclass)简化Model层定义,自动生成equals/hashCode/toString扩展函数简化View层逻辑(如点击事件扩展)lateinit/bylazy优化ViewModel属性初始化异步处理优化协程(Coroutines)替代RxJava,轻量且代码可读性强withContext(Dispatchers.IO)切换线程
- JavaScript性能优化实战:从8s到0.8s的极致提升
小诸葛IT课堂
前端
摘要:页面卡顿、内存泄漏、CPU爆满?本文通过6个真实场景+可运行代码示例,手把手教你掌握JS性能优化核心技术!涵盖防抖节流、虚拟滚动、WebWorkers、内存泄漏排查等高频痛点解决方案,最后提供Chrome性能分析工具实战指南,助你打造丝滑的Web应用!一、性能优化核心指标(先量化再优化)1.1关键性能指标FPS:帧率≥60为合格(开发者工具Performance面板)内
- JavaScript 表单
宇哥资料
JavaScriptjavascript开发语言ecmascript
JavaScript表单验证HTML表单验证可以通过JavaScript来完成。以下实例代码用于判断表单字段(fname)值是否存在,如果不存在,就弹出信息,阻止表单提交:JavaScript实例functionvalidateForm(){varx=document.forms["myForm"]["fname"].value;if(x==null||x==""){alert("需要输入名字。"
- 【前端拓展】Canvas性能革命!WebGPU + WebAssembly混合渲染方案深度解析
爱上大树的小猪
前端js
为什么需要混合方案?真实场景痛点分析:传统WebGL在高频数据更新时存在CPU-GPU通信瓶颈JavaScript的垃圾回收机制导致渲染卡顿复杂物理模拟(如SPH流体)难以在单线程中实现技术选型对比:graphLRA[计算密集型任务]-->B[WebAssembly]C[图形渲染任务]-->D[WebGPU]B-->E[共享内存]D-->E️环境搭建全流程1.WebGPU环境配置#启用Chrome
- WebSocket JAVA客户端和服务端 传送文件DEMO
易天法地
JAVAwebsocketjava网络
Server端WebSocketServer.java用于启动Server服务importcn.hutool.core.bean.BeanUtil;importcn.hutool.json.JSONUtil;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.stereotype.Compon
- Java List 接口的核心 API
胡歌1
javalistpython
1.添加元素方法:booleanadd(Ee):将元素添加到列表末尾。voidadd(intindex,Eelement):将元素插入到指定位置。booleanaddAll(Collectionc):将集合中的所有元素添加到列表末尾。booleanaddAll(intindex,Collectionc):将集合中的所有元素插入到指定位置。示例:importjava.util.ArrayList;i
- Java:AI 浪潮中的隐形支柱 —— 探秘 Java 在人工智能领域的独特地位
琢磨先生David
人工智能
引言在人工智能技术席卷全球的今天,当人们谈论AI开发时,Python、R语言、C++等工具总是最先被提及。然而在这个充满创新的领域,有一个"老兵"正悄然发挥着不可替代的作用——自1995年诞生至今的Java语言,凭借其独特的工程化基因,正在构建起AI世界的底层基础设施。本文将揭示Java如何在大数据、机器学习、企业级AI系统等领域持续创造价值。一、Java的AI基因解码跨平台优势的现代意义"一次编
- String类型为什么不可变
27xixi
java高频java
在大多数编程语言(如Java、Python、C#等)中,String类型被设计为不可变(Immutable),这意味着一旦一个字符串对象被创建,它的值就不能被修改。以下是这一设计的原因及具体表现:一、不可变性的表现直接修改字符串会创建新对象Stringstr="Hello";str=str+"World";//实际是创建了一个新字符串对象,而非修改原对象原字符串“Hello”未被修改,而是生成了新
- 浏览器中输入 URL 到显示主页的完整过程
27xixi
java高频java
在浏览器中输入URL到显示主页的完整过程涉及网络通信、资源加载、渲染引擎协作等多个环节。以下是详细步骤:URL解析输入处理:浏览器解析URL格式(协议、域名、路径、参数等),若未指定协议(如直接输入example.com),默认补全为http://或https://。安全检查:检查地址合法性(如屏蔽恶意域名)。DNS解析将域名转换为IP地址:本地缓存查询浏览器缓存→系统hosts文件→路由器缓存→
- Java volatile 关键字详解
27xixi
java高频java单例模式开发语言
Javavolatile关键字详解1.volatile的作用与原理可见性保证:volatile修饰的变量在修改后,会立即同步到主内存,其他线程读取时直接从主内存获取最新值,确保多线程环境下的可见性。例如:volatilebooleanflag=false;当线程A修改flag为true后,线程B能立即感知到变化。禁止指令重排序:volatile通过插入内存屏障(MemoryBarrier)禁止编译
- Educoder题目:Java入门 - 变量与数据类型答案解析
bingeho
Educoder题目解析javar语言开发语言
变量与常量src/chapter2/step1/HelloWorld.javapackagechapter2.step1;publicclassHelloWorld{publicstaticvoidmain(String[
- 虚幻引擎入门_光照
MJ-MK
虚幻引擎入门虚幻游戏引擎
光照静态/固定/可移动物体静态物体在任何情况都不允许移动,且允许光照烘焙,渲染速度最快,开销最小。固定物体不能在运行时运动,启用光照缓存,缓存动态阴影。可移动物体可以在运行时移动,投射动态阴影,渲染速度最慢。静态/固定/可移动光源定向光源是固定光源,是平行光,只能旋转,移动和缩放都不造成影响,常用于模拟太阳光。点光源类似白炽灯,可以移动和缩放,但旋转没有意义,常用于区域照明。聚光源可以移动、旋转、
- Spring家族三体问题:从XML地狱到自动装配的救赎之路
桃木山人
深挖面经springxmljava
标准答案(技术定义版)1.SpringFramework定义:轻量级Java开发框架,提供全面的基础设施支持核心功能:IoC容器:通过依赖注入(DI)管理对象生命周期与依赖关系AOP:面向切面编程,实现日志、事务等横切关注点事务管理:声明式事务(@Transactional)与编程式事务数据访问:集成JDBC、ORM框架的统一抽象层关键特性:模块化设计(spring-core,spring-con
- JavaScript性能优化指南:聚焦DOM操作优化
桃木山人
技术杂谈javascript性能优化开发语言
引言:性能优化的关键路径在Web应用开发中,JavaScript性能直接影响用户体验。虽然存在多种优化手段,但DOM操作优化往往能带来最显著的性能提升。本文将以DOM操作为核心展开深入分析,并简要概述其他优化方向。核心优化:DOM操作性能提升1.问题根源分析浏览器渲染引擎与JavaScript引擎独立运作,频繁的DOM操作会导致:重排(Reflow):计算元素几何属性重绘(Repaint):更新元
- HashMap的奇幻漂流:当一个数组决定去整容
桃木山人
深挖面经哈希算法算法数据结构
标准答案(面试官最爱版)HashMap实现原理:数据结构:数组+链表/红黑树(Java8+)哈希算法:(h=key.hashCode())^(h>>>16)索引计算:(n-1)&hash(n为数组长度)冲突解决:链表→红黑树(阈值=8),树→链表(阈值=6)扩容机制:2倍扩容,负载因子默认0.75用程序员黑话:“它就是个会变形的瑞士卷——平时是夹心饼干(数组+链表),吃撑了变千层蛋糕(红黑树)”一
- 一文教你学会Java Stream API 常用函数
小健学 Java
javapythonwindows
1.什么是Stream?Java8引入了StreamAPI,提供了一种声明式编程方式,使数据处理更加简洁、易读。Stream是一个数据流,它不存储数据,而是从数据源(如集合、数组等)获取数据并进行一系列操作。StreamAPI主要有两大类操作:中间操作(IntermediateOperations):返回新的Stream,可链式调用。终端操作(TerminalOperations):触发Strea
- Java基础语法练习41(泛型以及自定义泛型)
橙序研工坊
小白Java的成长java开发语言
目录一、泛型:用来表示数据类型的一种类型(在不知道定义为啥数据类型的时候用泛型来代替)1.入门示例代码如下:2.泛型的基本声明:3.泛型的实例化:二、自定义泛型类三、自定义泛型接口四、自定义泛型方法五、泛型的继承和通配符六、练习题一、泛型:用来表示数据类型的一种类型(在不知道定义为啥数据类型的时候用泛型来代替)一句话:泛型是待定的数据类型1.入门示例代码如下:publicclassGeneric0
- PO、DTO、VO等9大对象划分详解,让你的代码不再“一团糟”
码熔burning
SpringBootJavaJavaSpringBoot
目录一、PO(PersistentObject)二、DO(DomainObject)三、TO(TransferObject)四、DTO(DataTransferObject)五、VO(ViewObject)六、BO(BusinessObject)七、POJO(PlainOrdinaryJavaObject)八、DAO(DataAccessObject)九、Entity对象转换与使用场景总结何时使用
- 【JAVA进阶系列】进阶知识 -- Class类 getName()、getCanonicalName()、getSimpleName()、getTypeName()
m0_74823658
面试学习路线阿里巴巴java开发语言
【JAVA进阶系列】进阶知识--Class类getName()、getCanonicalName()、getSimpleName()、getTypeName()方法的异同【1】getName()返回该类对象作为字符串表示的实体(类、接口、数组类、基本数据类型或void)的名称可以理解为返回的是虚拟机中Class对象的表示当动态加载类的时候,会用到该方法的返回值,如:使用Class.forName(
- IKM 测试题 - Java SE 8 评估测试题目
843294669
java开发语言
关于JavaSE中this()和super()关键字的使用问题:以下哪些陈述正确描述了JavaSE中this()和super()关键字的使用?选项:如果super()没有被编码,则编译器将生成对零参数超类构造函数的调用。this()和super()可以在同一构造函数中使用。如果使用,this()或super()调用必须始终是构造函数中的第一条语句。this()和super()调用可以在构造函数之外
- 聊聊langchain4j的ChatMemory
langchain4j
序本文主要研究一下langchain4j的ChatMemoryChatMemorylangchain4j-core/src/main/java/dev/langchain4j/memory/ChatMemory.javapublicinterfaceChatMemory{/***TheIDofthe{@linkChatMemory}.*@returnTheIDofthe{@linkChatMemo
- 聊聊langchain4j的ChatMemory
langchain4j
序本文主要研究一下langchain4j的ChatMemoryChatMemorylangchain4j-core/src/main/java/dev/langchain4j/memory/ChatMemory.javapublicinterfaceChatMemory{/***TheIDofthe{@linkChatMemory}.*@returnTheIDofthe{@linkChatMemo
- 聊聊langchain4j的RagAutoConfig
langchain4j
序本文主要研究一下langchain4j-spring-boot-starter的RagAutoConfigLangChain4jAutoConfigdev/langchain4j/spring/LangChain4jAutoConfig.java@AutoConfiguration@Import({AiServicesAutoConfig.class,RagAutoConfig.class,Ai
- 聊聊langchain4j的RagAutoConfig
langchain4j
序本文主要研究一下langchain4j-spring-boot-starter的RagAutoConfigLangChain4jAutoConfigdev/langchain4j/spring/LangChain4jAutoConfig.java@AutoConfiguration@Import({AiServicesAutoConfig.class,RagAutoConfig.class,Ai
- 聊聊langchain4j的AiServicesAutoConfig
langchain4j
序本文主要研究一下langchain4j-spring-boot-starter的AiServicesAutoConfigLangChain4jAutoConfigdev/langchain4j/spring/LangChain4jAutoConfig.java@AutoConfiguration@Import({AiServicesAutoConfig.class,RagAutoConfig.c
- 非对称加密算法——SIDH加密算法
java
JavaSIDH算法解析理论背景1.1后量子密码学随着量子计算机的发展,传统公钥密码体系(如RSA、ECC)面临被Shor算法破解的风险。后量子密码学(Post-QuantumCryptography)研究能够抵御量子攻击的新型加密算法,主要包含以下类型:基于格的密码学基于编码的密码学多元多项式密码学基于超奇异椭圆曲线同源的密码学(SIDH)1.2椭圆曲线基础SIDH基于超奇异椭圆曲线及其同源映射
- Java 和 Kotlin 实现 23 种设计模式:从理论到实践
tangweiguo03051987
androidKotlin语法androidkotlinjava
设计模式是软件开发中解决常见问题的经典解决方案模板。它们帮助开发者编写可维护、可扩展和可重用的代码。本文详细介绍了23种经典设计模式,包括创建型、结构型和行为型模式,并提供了Java和Kotlin的完整实现示例。无论你是初学者还是有经验的开发者,本文都能帮助你深入理解设计模式的核心思想,并将其应用到实际项目中。Java和Kotlin实现23种设计模式设计模式是软件开发中常见问题的解决方案模板。它们
- Nginx、LVS、HAProxy 的区别和优缺点
青年夏日科技
nginx运维
Nginx、LVS、HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,通常会结合Keepalive做健康检查,实现故障转移的高可用功能。1)在四层(tcp)实现负载均衡的软件:lvs------>重量级nginx------>轻量级,带缓存功能,正则表达式较灵活haproxy------>模拟四层转发,较灵活2)在七层(http)实现反向代理的软件:haproxy----
- springMvc36-JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)
前端歌谣
javajava-eeservlet
EL表达式和JSTL标签库:在JSP页面代替java代码,便于编写一.EL表达式作用:${}简化脚本表达式j2ee1.4以前版本需指定j2ee1.4以后版本默认支持EL表达式1.EL内置对象EL内置11个对象,不需定义可直接使用pageScope获取page域属性组成的MaprequestScope获取reqeust域属性组成的MapsessionScope获取session域属性组成的Mapap
- javaEE---JSTL代码示例
司天宏
2.jspusers=newArrayList();Useruser1=newUser(1,"令狐冲","男");Useruser2=newUser(2,"岳不群","男");Useruser3=newUser(3,"岳灵珊","女");Useruser4=newUser(4,"左冷禅","男");Useruser5=newUser(5,"东风不败","女");users.add(user1);u
- 关于旗正规则引擎下载页面需要弹窗保存到本地目录的问题
何必如此
jsp超链接文件下载窗口
生成下载页面是需要选择“录入提交页面”,生成之后默认的下载页面<a>标签超链接为:<a href="<%=root_stimage%>stimage/image.jsp?filename=<%=strfile234%>&attachname=<%=java.net.URLEncoder.encode(file234filesourc
- 【Spark九十八】Standalone Cluster Mode下的资源调度源代码分析
bit1129
cluster
在分析源代码之前,首先对Standalone Cluster Mode的资源调度有一个基本的认识:
首先,运行一个Application需要Driver进程和一组Executor进程。在Standalone Cluster Mode下,Driver和Executor都是在Master的监护下给Worker发消息创建(Driver进程和Executor进程都需要分配内存和CPU,这就需要Maste
- linux上独立安装部署spark
daizj
linux安装spark1.4部署
下面讲一下linux上安装spark,以 Standalone Mode 安装
1)首先安装JDK
下载JDK:jdk-7u79-linux-x64.tar.gz ,版本是1.7以上都行,解压 tar -zxvf jdk-7u79-linux-x64.tar.gz
然后配置 ~/.bashrc&nb
- Java 字节码之解析一
周凡杨
java字节码javap
一: Java 字节代码的组织形式
类文件 {
OxCAFEBABE ,小版本号,大版本号,常量池大小,常量池数组,访问控制标记,当前类信息,父类信息,实现的接口个数,实现的接口信息数组,域个数,域信息数组,方法个数,方法信息数组,属性个数,属性信息数组
}
&nbs
- java各种小工具代码
g21121
java
1.数组转换成List
import java.util.Arrays;
Arrays.asList(Object[] obj); 2.判断一个String型是否有值
import org.springframework.util.StringUtils;
if (StringUtils.hasText(str)) 3.判断一个List是否有值
import org.spring
- 加快FineReport报表设计的几个心得体会
老A不折腾
finereport
一、从远程服务器大批量取数进行表样设计时,最好按“列顺序”取一个“空的SQL语句”,这样可提高设计速度。否则每次设计时模板均要从远程读取数据,速度相当慢!!
二、找一个富文本编辑软件(如NOTEPAD+)编辑SQL语句,这样会很好地检查语法。有时候带参数较多检查语法复杂时,结合FineReport中生成的日志,再找一个第三方数据库访问软件(如PL/SQL)进行数据检索,可以很快定位语法错误。
- mysql linux启动与停止
墙头上一根草
如何启动/停止/重启MySQL一、启动方式1、使用 service 启动:service mysqld start2、使用 mysqld 脚本启动:/etc/inint.d/mysqld start3、使用 safe_mysqld 启动:safe_mysqld&二、停止1、使用 service 启动:service mysqld stop2、使用 mysqld 脚本启动:/etc/inin
- Spring中事务管理浅谈
aijuans
spring事务管理
Spring中事务管理浅谈
By Tony Jiang@2012-1-20 Spring中对事务的声明式管理
拿一个XML举例
[html]
view plain
copy
print
?
<?xml version="1.0" encoding="UTF-8"?>&nb
- php中隐形字符65279(utf-8的BOM头)问题
alxw4616
php中隐形字符65279(utf-8的BOM头)问题
今天遇到一个问题. php输出JSON 前端在解析时发生问题:parsererror.
调试:
1.仔细对比字符串发现字符串拼写正确.怀疑是 非打印字符的问题.
2.逐一将字符串还原为unicode编码. 发现在字符串头的位置出现了一个 65279的非打印字符.
 
- 调用对象是否需要传递对象(初学者一定要注意这个问题)
百合不是茶
对象的传递与调用技巧
类和对象的简单的复习,在做项目的过程中有时候不知道怎样来调用类创建的对象,简单的几个类可以看清楚,一般在项目中创建十几个类往往就不知道怎么来看
为了以后能够看清楚,现在来回顾一下类和对象的创建,对象的调用和传递(前面写过一篇)
类和对象的基础概念:
JAVA中万事万物都是类 类有字段(属性),方法,嵌套类和嵌套接
- JDK1.5 AtomicLong实例
bijian1013
javathreadjava多线程AtomicLong
JDK1.5 AtomicLong实例
类 AtomicLong
可以用原子方式更新的 long 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicLong 可用在应用程序中(如以原子方式增加的序列号),并且不能用于替换 Long。但是,此类确实扩展了 Number,允许那些处理基于数字类的工具和实用工具进行统一访问。
 
- 自定义的RPC的Java实现
bijian1013
javarpc
网上看到纯java实现的RPC,很不错。
RPC的全名Remote Process Call,即远程过程调用。使用RPC,可以像使用本地的程序一样使用远程服务器上的程序。下面是一个简单的RPC 调用实例,从中可以看到RPC如何
- 【RPC框架Hessian一】Hessian RPC Hello World
bit1129
Hello world
什么是Hessian
The Hessian binary web service protocol makes web services usable without requiring a large framework, and without learning yet another alphabet soup of protocols. Because it is a binary p
- 【Spark九十五】Spark Shell操作Spark SQL
bit1129
shell
在Spark Shell上,通过创建HiveContext可以直接进行Hive操作
1. 操作Hive中已存在的表
[hadoop@hadoop bin]$ ./spark-shell
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Welcom
- F5 往header加入客户端的ip
ronin47
when HTTP_RESPONSE {if {[HTTP::is_redirect]}{ HTTP::header replace Location [string map {:port/ /} [HTTP::header value Location]]HTTP::header replace Lo
- java-61-在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差. 求所有数对之差的最大值。例如在数组{2, 4, 1, 16, 7, 5,
bylijinnan
java
思路来自:
http://zhedahht.blog.163.com/blog/static/2541117420116135376632/
写了个java版的
public class GreatestLeftRightDiff {
/**
* Q61.在数组中,数字减去它右边(注意是右边)的数字得到一个数对之差。
* 求所有数对之差的最大值。例如在数组
- mongoDB 索引
开窍的石头
mongoDB索引
在这一节中我们讲讲在mongo中如何创建索引
得到当前查询的索引信息
db.user.find(_id:12).explain();
cursor: basicCoursor 指的是没有索引
&
- [硬件和系统]迎峰度夏
comsci
系统
从这几天的气温来看,今年夏天的高温天气可能会维持在一个比较长的时间内
所以,从现在开始准备渡过炎热的夏天。。。。
每间房屋要有一个落地电风扇,一个空调(空调的功率和房间的面积有密切的关系)
坐的,躺的地方要有凉垫,床上要有凉席
电脑的机箱
- 基于ThinkPHP开发的公司官网
cuiyadll
行业系统
后端基于ThinkPHP,前端基于jQuery和BootstrapCo.MZ 企业系统
轻量级企业网站管理系统
运行环境:PHP5.3+, MySQL5.0
系统预览
系统下载:http://www.tecmz.com
预览地址:http://co.tecmz.com
各种设备自适应
响应式的网站设计能够对用户产生友好度,并且对于
- Transaction and redelivery in JMS (JMS的事务和失败消息重发机制)
darrenzhu
jms事务承认MQacknowledge
JMS Message Delivery Reliability and Acknowledgement Patterns
http://wso2.com/library/articles/2013/01/jms-message-delivery-reliability-acknowledgement-patterns/
Transaction and redelivery in
- Centos添加硬盘完全教程
dcj3sjt126com
linuxcentoshardware
Linux的硬盘识别:
sda 表示第1块SCSI硬盘
hda 表示第1块IDE硬盘
scd0 表示第1个USB光驱
一般使用“fdisk -l”命
- yii2 restful web服务路由
dcj3sjt126com
PHPyii2
路由
随着资源和控制器类准备,您可以使用URL如 http://localhost/index.php?r=user/create访问资源,类似于你可以用正常的Web应用程序做法。
在实践中,你通常要用美观的URL并采取有优势的HTTP动词。 例如,请求POST /users意味着访问user/create动作。 这可以很容易地通过配置urlManager应用程序组件来完成 如下所示
- MongoDB查询(4)——游标和分页[八]
eksliang
mongodbMongoDB游标MongoDB深分页
转载请出自出处:http://eksliang.iteye.com/blog/2177567 一、游标
数据库使用游标返回find的执行结果。客户端对游标的实现通常能够对最终结果进行有效控制,从shell中定义一个游标非常简单,就是将查询结果分配给一个变量(用var声明的变量就是局部变量),便创建了一个游标,如下所示:
> var
- Activity的四种启动模式和onNewIntent()
gundumw100
android
Android中Activity启动模式详解
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。
Android总Activity的启动模式分为四种:
Activity启动模式设置:
<acti
- 攻城狮送女友的CSS3生日蛋糕
ini
htmlWebhtml5csscss3
在线预览:http://keleyi.com/keleyi/phtml/html5/29.htm
代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>攻城狮送女友的CSS3生日蛋糕-柯乐义<
- 读源码学Servlet(1)GenericServlet 源码分析
jzinfo
tomcatWebservlet网络应用网络协议
Servlet API的核心就是javax.servlet.Servlet接口,所有的Servlet 类(抽象的或者自己写的)都必须实现这个接口。在Servlet接口中定义了5个方法,其中有3个方法是由Servlet 容器在Servlet的生命周期的不同阶段来调用的特定方法。
先看javax.servlet.servlet接口源码:
package
- JAVA进阶:VO(DTO)与PO(DAO)之间的转换
snoopy7713
javaVOHibernatepo
PO即 Persistence Object VO即 Value Object
VO和PO的主要区别在于: VO是独立的Java Object。 PO是由Hibernate纳入其实体容器(Entity Map)的对象,它代表了与数据库中某条记录对应的Hibernate实体,PO的变化在事务提交时将反应到实际数据库中。
实际上,这个VO被用作Data Transfer
- mongodb group by date 聚合查询日期 统计每天数据(信息量)
qiaolevip
每天进步一点点学习永无止境mongodb纵观千象
/* 1 */
{
"_id" : ObjectId("557ac1e2153c43c320393d9d"),
"msgType" : "text",
"sendTime" : ISODate("2015-06-12T11:26:26.000Z")
- java之18天 常用的类(一)
Luob.
MathDateSystemRuntimeRundom
System类
import java.util.Properties;
/**
* System:
* out:标准输出,默认是控制台
* in:标准输入,默认是键盘
*
* 描述系统的一些信息
* 获取系统的属性信息:Properties getProperties();
*
*
*
*/
public class Sy
- maven
wuai
maven
1、安装maven:解压缩、添加M2_HOME、添加环境变量path
2、创建maven_home文件夹,创建项目mvn_ch01,在其下面建立src、pom.xml,在src下面简历main、test、main下面建立java文件夹
3、编写类,在java文件夹下面依照类的包逐层创建文件夹,将此类放入最后一级文件夹
4、进入mvn_ch01
4.1、mvn compile ,执行后会在