采用CloudFlare进行飞牛NAS的远程访问【安全免费】无需公网IP、端口号,NAS外网访问新方法_网络存储_什么值得买sudomkdir-p/etc/dockersudotee/etc/docker/daemon.json<
Python 日志记录工具logging
酒酿小圆子~
Pythonpython运维
文章目录1.日志的作用2.日志的级别3.几个重要的概念3.1Logger记录器3.2Handler处理器3.3Formatter格式化器3.4Filter过滤器4.常见示例4.1常见示例1:Logging日志记录4.2常见示例2:函数化示例(避免重复日志)4.3多进程环境下往同一个文件写日志日志对于系统开发的开发、调试和运行整个过程中都起着很重要的作用,调试阶段需要查看日志来明确问题所在,运行阶段
STM32完全学习——0V5640的JPEG模式采集
小A159
学习
一、写在前面我参考的是买开发板的时候,普中送的资料里面的源码,他那个是用标准库写的,我将他的代码移植到了HAL库,有一些不一样的地方。由于标准库和HAL库的差别造成的。二、编程思路首先初始化OV5640模块,使用的是SCCB总线,和I2C很像,具体的就不说了,再就是将OV5640设置成JPEG输出模式,然后就是调整OV5640输出的图像的大小。下来就是开启DMA传输。然后每捕获一帧图像,DCMI会
华为鲲鹏ARM处理器920、916系列
itmanll
服务器
鲲鹏处理器-鲲鹏社区(hikunpeng.com)产品规格鲲鹏920系列型号:7260(64核)、5250(48核)、5220(32核)、3210(24核)7260核数64核主频2.6GHz内存通道8TDP功耗180W组件规格计算核兼容Armv8.2架构,华为自研核主频最高2.6GHz缓存L1:64KB指令缓存和数据缓存L2:512KB每核独立缓存L3:24~64MB共享缓存(1MB每核)内存8个
在Linux上安装Chrome浏览器时遇到的问题
花牧w
Linuxubuntuchrome
在Linux上安装Chrome浏览器时遇到的问题一、权限报错二、找不到文件报错三、架构不符报错四、依赖关系报错一、权限报错运行:dpkg-igoogle-chrome-stable_current_amd64-1.deb报错:dpkg:错误:所请求的操作需要超级用户权限处理方式:sudodpkg-igoogle-chrome-stable_current_amd64-1.deb[sudo]user
@Contended
qq_31273845
springjava后端
`@Contended`是Java8引入的一个注解,主要用于减少多线程环境下的伪共享(FalseSharing)问题。伪共享是由于缓存行的争用导致的性能问题,特别是在多核处理器上。###`@Contended`注解的作用-**减少伪共享**:当多个线程访问不同的变量,但这些变量位于同一个缓存行时,可能会引发伪共享问题。`@Contended`注解通过在变量之间插入填充字段,确保它们位于不同的缓存行
前端工程化都有哪些及优化方案
光影少年
前端前端框架基带工程
一、前端工程化的主要组成部分1.模块化模块化是将复杂的程序分解为若干小的独立模块,每个模块负责一个功能。常用的模块化方案包括:ES6模块(import/export)CommonJS(require/module.exports,Node.js中常用)AMD(define/require,如RequireJS)优化方案:尽量使用ES6模块,因为它是JavaScript的标准,支持更好的静态分析和T
python学习系列之logging(一、基础教程)
Idea King
python3
文章目录1.什么是日志?为什么需要日志?2.什么时候使用什么级别的日志?2.1日志的级别3.logging基础教程3.1输出到控制台3.2记录日志到文件3.3从多个模块记录日志3.4记录变量数据3.5修改日志输出的格式参考文献按照官方使用说明进行编写1.什么是日志?为什么需要日志?日志是对软件执行时所发生事件的一种追踪方式。软件开发人员对他们的代码添加日志调用,借此来指示某事件的发生。一个事件通过
一文读懂BOLL布林线指标,10种形态教学,识别主力资金意图(建议收藏)
智识微光Intelligence
深度学习信息可视化笔记学习方法算法
在币圈交易实践中,布林通道是常用于判断价格“进、出场时机”的技术指标,在纳入平均值、标准差的概念之后,进而找出市场的价格突破点、反转点,也可以利用布林通道来判断市场价格的超买和超卖条件。1️⃣布林线指标应用1/支撑与压力指示:布林线的上、中轨对币价有压力作用,中、下轨对币价起支撑作用。当币价冲出上轨可能回调,日前,布林线的上、中轨对币价有压力作用,中、下轨对币权价起支撑作用。当币价冲出上轨可能回调
Python 并发编程:多任务处理的实现
把海弄干的鱼.
python
Python并发编程:多任务处理的实现Python并发编程:多任务处理的实现1.引言2.并发编程的挑战3.Python中的并发编程工具3.1多线程(threading)3.2多进程(multiprocessing)3.3异步I/O(asyncio)4.选择合适的工具5.并发编程最佳实践6.总结Python并发编程:多任务处理的实现1.引言在当今的计算领域,多核处理器已成为主流。为了充分利用多核CP
智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之4 两种描述文件:source的自述文件和resource的描述文件
一水鉴天
人工智能
本文要点前面是为“描述”格式中描述项的未尽描述所所的扩展思考。现在我们回到前面的讨论。前面分析了我拿出来做例句的一段话中的三行文字(“自述”)--也基本上是文档“为AI聊天工具添加一个知识系统”的“枢纽”。进一步讨论这样的“枢纽”要怎样才能具备这个资格?那么,我们是否能基于这些讨论进一步准确根据三种处理器的描述文字确定三者在系统中的地位或作用呢?---就像刚刚我们确定了”语言处理器“或”网络“组件
银河麒麟--aarch64 编译安装Qt5.9.9+QtCreator4.8.2
mastlw
学习记录qt开发语言armkylin
银河麒麟aarch64编译安装Qt5.9.9+QtCreator4.8.21.Qt5.9.9编译安装1.1下载Qt5.9.9源码1.2确保系统中g++,gcc,python,perl及环境符合安装要求1.3编译与安装2.QtCreator编译安装2.1下载Qt-Creator-4.8.2源码2.2编译与安装1.Qt5.9.9编译安装目前在银河麒麟V10arm处理器下编译安装后可用的最高版本是Qt5
环境安装与配置:全面了解 Go 语言的安装与设置
m0_74825565
面试学习路线阿里巴巴golang开发语言后端
在学习Go语言之前,首先需要确保开发环境已正确安装和配置。本部分将详细介绍如何在不同平台(Windows、macOS和Linux)上安装Go语言,以及如何进行环境变量配置和工作空间的设置。一、安装Go语言1.Windows安装方法下载Go安装包打开Go官方下载页面。选择适合您系统的安装包(通常是go.windows-amd64.msi)。安装Go下载完成后,双击运行安装程序。按照安装向导的步骤操作
golang 的 gc垃圾回收机制
dearlin2024
golang开发语言后端
文章目录一、常见的垃圾回收算法?1.1引用计数法1.2分代收集1.3三色标记法二、三色标记步骤2.1初始化图例2.2GC开始,遍历root,将直接可达的标记为灰色图例2.3遍历灰色列表,将直接可达的标记为灰色,自身标记为黑色2.4重复上述步骤,直到标记完所有对象2.5将标记为白色的对象进行垃圾回收(GC完成)三、混合写屏障机制四、完整的gc流程五、gc执行的时机,什么时候触发gc总结一、常见的垃圾
【ubuntu 连接显示器无法显示】可以通过 ssh 连接 ubuntu 服务器正常使用,但服务器连接显示器没有输出
多恩Stone
服务器ubuntu计算机外设
背景ubuntu服务器通过显示器进行关机,断开电源重新接上电源再重启时,服务器连接显示器不再有输出。CPU为AMDRyzen75800X8-CoreProcessor,并没有显示,只能通过NVDIAGPU来显示。但是通过nvidia-smi,nvitop的输出,以及跑模型时的GPU状态都正常解决方案-重装NVIDIA驱动以下是重装NVIDIA驱动的完整步骤:首先删除现有的NVIDIA驱动:sudo
冯.诺伊曼结构与哈佛结构区别
冬日黎明
一、冯.诺伊曼结构1945年,冯.诺伊曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯.诺伊曼型结构”计算机。冯.诺伊曼结构的处理器使用同一个存储器,经由同一个总线传输,如下图所示:图冯.诺伊曼结构冯.诺伊曼结构处理器具有以下几个特点:必须有一个存储器;必须有一个控制器;必须有一个运算器,用于完成算术运算和逻辑运算;必须有输入和输出设备,用于
冯诺依曼架构和哈佛架构的主要区别?
跟着杰哥学嵌入式
架构
冯诺依曼架构(VonNeumannArchitecture)和哈佛架构(HarvardArchitecture)是两种计算机体系结构,它们在存储器组织、指令处理和数据存取等方面有明显的不同。以下是它们的主要区别:1.存储器结构冯诺依曼架构:在冯诺依曼架构中,程序存储器和数据存储器是共享的,即指令和数据都存储在同一个内存区域(通常是RAM)中。由于指令和数据使用同一条总线来传输,处理器在每次访问内存
Redis——单线程与多线程模型原理
YZF_Kevin
redisredis多线程redis多线程源码
一、redis多线程流程Redis虽然也实现了多线程,但是却不是标准的Multi-Reactors/Master-Workers模式。1.Redis服务器启动,开启主线程事件循环(EventLoop),注册acceptTcpHandler连接应答处理器到用户配置的监听端口对应的文件描述符,等待新连接到来;2.客户端和服务端建立网络连接;3.acceptTcpHandler被调用,主线程使用AE的A
Python多线程编程实例:处理多个事件及其子任务
Leuanghing
pythonthreading多线程
Python多线程编程实例:处理多个事件及其子任务一、前言二、整体架构流程三、技术细节四、完整代码五、运行六、结论一、前言在现代编程中,多线程编程是一种常用的技术,用于提高程序的执行效率和响应速度。通过并行执行多个任务,多线程可以有效地利用多核处理器的性能,减少程序的整体运行时间。本文通过一个具体的Python实例,展示了如何使用threading模块来并行处理多个事件及其子任务。二、整体架构流程
【超详细教程(附源码)】基于 ARM Cortex-M3 处理器与 FPGA 的实时人脸检测 SOC
Walker_Lau
armfpga人脸识别人工智能机器学习
原创作品,转载请联系作者并注明出处:https://github.com/WalkerLau源码地址:https://github.com/WalkerLau/DetectHumanFaces本项目是第四届集成电路创新创业大赛(ARM杯)的参赛作品,包含了详细的技术文档、软件配置教程以及完整的代码。项目描述我们采用ARMCortex-M3软核及FPGA构成了轻量级的实时人脸检测SOC,通过ov56
优化我们的程序(数据篇):依赖关系与并行化
skaiuijing
编译器程序优化计算机科学与技术并行化
依赖关系与并行化我们需要把有依赖关系的数据都交给同一个CPU处理,这样其他数据都可以交给其他CPU并行处理,并行的加速比公式Amdahl定律:1/((1-f)+(f/p))笔者个人认为,这个公式的主要精髓在于并行流受限于串行流,加速比其实主要取决于并行化最低的数据,也就是依赖性最严重的数据,这部分数据必须串行执行。数据依赖有三种类型:真依赖:写运算后面接一个读运算反依赖:读运算后面接一个写运算输出
Windows 上安装 PostgreSQL
froginwe11
开发语言
Windows上安装PostgreSQLPostgreSQL是一款功能强大的开源对象-关系型数据库系统,它具有出色的扩展性和稳定性。本文将详细介绍在Windows操作系统上安装PostgreSQL的步骤和注意事项。1.准备工作在开始安装PostgreSQL之前,请确保您的计算机满足以下要求:操作系统:Windows10或更高版本处理器:64位内存:至少4GB(推荐8GB或更高)硬盘空间:至少2GB
使用 AMD ROCm 容器入门:从基础镜像到定制解决方案
109702008
#ROCm人工智能
GettingstartedwithAMDROCmcontainers:frombaseimagestocustomsolutions—ROCmBlogs2025年1月16日,作者:MattElliott在从事技术工作超过二十年后,我亲身见证了容器化如何改变我们开发和部署应用程序的方式。容器将应用程序及其依赖项打包成标准单元,使软件在不同环境中具有良好的可移植性和一致性。当我们将这种容器化的力量与
专为课堂打造:宏碁推出三款全新耐用型 Chromebook
2301_82086730
屏币售价
IT之家1月25日消息,宏碁(Acer)昨日(1月24日)发布公告,针对教育市场,推出ChromebookSpin512(R857T)、ChromebookSpin511(R757T)和Chromebook511(C737)三款产品,兼具耐用性、创新功能和成本效益,满足学生、教师和管理人员的需求。三款产品均搭载英特尔N250处理器,IT之家附上相关参数如下:AcerChromebookSpin51
华为od 面试八股文_计算机网络_04_含答案
MISAYAONE
面试计算机网络职场和发展华为od八股文
目录1:什么是半连接队列?2:为什么要三次握手?3:为什么不能两次握手?4:为什么要四次挥手?5:TCP是如何保证传输可靠性的?6:什么时候选择TCP,什么时候选UDP?7:http1.0和http2.0什么区别?8:了解http3.0吗?http3.0有什么重要的新特性?9:那HTTP/3有哪些适用场景?10:OSI七层模型是什么?每一层的作用是什么?1:什么是半连接队列?在TCP三次握手过程中
嵌入式硬件基础知识
君君学姐
嵌入式硬件
嵌入式硬件基础知识嵌入式硬件基础知识涵盖了嵌入式系统中的硬件组成及其工作原理,涉及处理器、存储器、外设接口、电源管理等多个方面。这些硬件共同构成了一个完整的嵌入式系统,用于执行特定任务。以下将详细介绍嵌入式硬件的基础知识。一、嵌入式系统的组成嵌入式系统通常由以下几个主要部分组成:处理器:嵌入式系统的核心硬件,包括单片机(MCU)、微处理器(MPU)、数字信号处理器(DSP)等,用于执行程序代码和控
java线程的无限循环和退出
3213213333332132
java
最近想写一个游戏,然后碰到有关线程的问题,网上查了好多资料都没满足。
突然想起了前段时间看的有关线程的视频,于是信手拈来写了一个线程的代码片段。
希望帮助刚学java线程的童鞋
package thread;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date
tomcat 容器
BlueSkator
tomcatWebservlet
Tomcat的组成部分 1、server
A Server element represents the entire Catalina servlet container. (Singleton) 2、service
service包括多个connector以及一个engine,其职责为处理由connector获得的客户请求。
3、connector
一个connector
php递归,静态变量,匿名函数使用
dcj3sjt126com
PHP递归函数匿名函数静态变量引用传参
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Current To-Do List</title>
</head>
<body>
属性颜色字体变化
周华华
JavaScript
function changSize(className){
var diva=byId("fot")
diva.className=className;
}
</script>
<style type="text/css">
.max{
background: #900;
color:#039;
将properties内容放置到map中
g21121
properties
代码比较简单:
private static Map<Object, Object> map;
private static Properties p;
static {
//读取properties文件
InputStream is = XXX.class.getClassLoader().getResourceAsStream("xxx.properti
[简单]拼接字符串
53873039oycg
字符串
工作中遇到需要从Map里面取值拼接字符串的情况,自己写了个,不是很好,欢迎提出更优雅的写法,代码如下:
import java.util.HashMap;
import java.uti
Struts2学习
云端月影
最近开始关注struts2的新特性,从这个版本开始,Struts开始使用convention-plugin代替codebehind-plugin来实现struts的零配置。
配置文件精简了,的确是简便了开发过程,但是,我们熟悉的配置突然disappear了,真是一下很不适应。跟着潮流走吧,看看该怎样来搞定convention-plugin。
使用Convention插件,你需要将其JAR文件放
Java新手入门的30个基本概念二
aijuans
java新手java 入门
基本概念: 1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率。 2.OOP中最重要的思想是类,类是模板是蓝图,
jedis 简单使用
antlove
javarediscachecommandjedis
jedis.RedisOperationCollection.java
package jedis;
import org.apache.log4j.Logger;
import redis.clients.jedis.Jedis;
import java.util.List;
import java.util.Map;
import java.util.Set;
pub
PL/SQL的函数和包体的基础
百合不是茶
PL/SQL编程函数包体显示包的具体数据包
由于明天举要上课,所以刚刚将代码敲了一遍PL/SQL的函数和包体的实现(单例模式过几天好好的总结下再发出来);以便明天能更好的学习PL/SQL的循环,今天太累了,所以早点睡觉,明天继续PL/SQL总有一天我会将你永远的记载在心里,,,
函数;
函数:PL/SQL中的函数相当于java中的方法;函数有返回值
定义函数的
--输入姓名找到该姓名的年薪
create or re
Mockito(二)--实例篇
bijian1013
持续集成mockito单元测试
学习了基本知识后,就可以实战了,Mockito的实际使用还是比较麻烦的。因为在实际使用中,最常遇到的就是需要模拟第三方类库的行为。
比如现在有一个类FTPFileTransfer,实现了向FTP传输文件的功能。这个类中使用了a
精通Oracle10编程SQL(7)编写控制结构
bijian1013
oracle数据库plsql
/*
*编写控制结构
*/
--条件分支语句
--简单条件判断
DECLARE
v_sal NUMBER(6,2);
BEGIN
select sal into v_sal from emp
where lower(ename)=lower('&name');
if v_sal<2000 then
update emp set
【Log4j二】Log4j属性文件配置详解
bit1129
log4j
如下是一个log4j.properties的配置
log4j.rootCategory=INFO, stdout , R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appe
java集合排序笔记
白糖_
java
public class CollectionDemo implements Serializable,Comparable<CollectionDemo>{
private static final long serialVersionUID = -2958090810811192128L;
private int id;
private String nam
java导致linux负载过高的定位方法
ronin47
定位java进程ID
可以使用top或ps -ef |grep java
![图片描述][1]
根据进程ID找到最消耗资源的java pid
比如第一步找到的进程ID为5431
执行
top -p 5431 -H
![图片描述][2]
打印java栈信息
$ jstack -l 5431 > 5431.log
在栈信息中定位具体问题
将消耗资源的Java PID转
给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数
bylijinnan
函数
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class RandNFromRand5 {
/**
题目:给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。
解法1:
f(k) = (x0-1)*5^0+(x1-
PL/SQL Developer保存布局
Kai_Ge
近日由于项目需要,数据库从DB2迁移到ORCAL,因此数据库连接客户端选择了PL/SQL Developer。由于软件运用不熟悉,造成了很多麻烦,最主要的就是进入后,左边列表有很多选项,自己删除了一些选项卡,布局很满意了,下次进入后又恢复了以前的布局,很是苦恼。在众多PL/SQL Developer使用技巧中找到如下这段:
&n
[未来战士计划]超能查派[剧透,慎入]
comsci
计划
非常好看,超能查派,这部电影......为我们这些热爱人工智能的工程技术人员提供一些参考意见和思想........
虽然电影里面的人物形象不是非常的可爱....但是非常的贴近现实生活....
&nbs
Google Map API V2
dai_lm
google map
以后如果要开发包含google map的程序就更麻烦咯
http://www.cnblogs.com/mengdd/archive/2013/01/01/2841390.html
找到篇不错的文章,大家可以参考一下
http://blog.sina.com.cn/s/blog_c2839d410101jahv.html
1. 创建Android工程
由于v2的key需要G
java数据计算层的几种解决方法2
datamachine
javasql集算器
2、SQL
SQL/SP/JDBC在这里属于一类,这是老牌的数据计算层,性能和灵活性是它的优势。但随着新情况的不断出现,单纯用SQL已经难以满足需求,比如: JAVA开发规模的扩大,数据量的剧增,复杂计算问题的涌现。虽然SQL得高分的指标不多,但都是权重最高的。
成熟度:5星。最成熟的。
Linux下Telnet的安装与运行
dcj3sjt126com
linuxtelnet
Linux下Telnet的安装与运行 linux默认是使用SSH服务的 而不安装telnet服务 如果要使用telnet 就必须先安装相应的软件包 即使安装了软件包 默认的设置telnet 服务也是不运行的 需要手工进行设置 如果是redhat9,则在第三张光盘中找到 telnet-server-0.17-25.i386.rpm
PHP中钩子函数的实现与认识
dcj3sjt126com
PHP
假如有这么一段程序:
function fun(){
fun1();
fun2();
}
首先程序执行完fun1()之后执行fun2()然后fun()结束。
但是,假如我们想对函数做一些变化。比如说,fun是一个解析函数,我们希望后期可以提供丰富的解析函数,而究竟用哪个函数解析,我们希望在配置文件中配置。这个时候就可以发挥钩子的力量了。
我们可以在fu
EOS中的WorkSpace密码修改
蕃薯耀
修改WorkSpace密码
EOS中BPS的WorkSpace密码修改
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
蕃薯耀 201
SpringMVC4零配置--SpringSecurity相关配置【SpringSecurityConfig】
hanqunfeng
SpringSecurity
SpringSecurity的配置相对来说有些复杂,如果是完整的bean配置,则需要配置大量的bean,所以xml配置时使用了命名空间来简化配置,同样,spring为我们提供了一个抽象类WebSecurityConfigurerAdapter和一个注解@EnableWebMvcSecurity,达到同样减少bean配置的目的,如下:
applicationContex
ie 9 kendo ui中ajax跨域的问题
jackyrong
AJAX跨域
这两天遇到个问题,kendo ui的datagrid,根据json去读取数据,然后前端通过kendo ui的datagrid去渲染,但很奇怪的是,在ie 10,ie 11,chrome,firefox等浏览器中,同样的程序,
浏览起来是没问题的,但把应用放到公网上的一台服务器,
却发现如下情况:
1) ie 9下,不能出现任何数据,但用IE 9浏览器浏览本机的应用,却没任何问题
不要让别人笑你不能成为程序员
lampcy
编程程序员
在经历六个月的编程集训之后,我刚刚完成了我的第一次一对一的编码评估。但是事情并没有如我所想的那般顺利。
说实话,我感觉我的脑细胞像被轰炸过一样。
手慢慢地离开键盘,心里很压抑。不禁默默祈祷:一切都会进展顺利的,对吧?至少有些地方我的回答应该是没有遗漏的,是不是?
难道我选择编程真的是一个巨大的错误吗——我真的永远也成不了程序员吗?
我需要一点点安慰。在自我怀疑,不安全感和脆弱等等像龙卷风一
马皇后的贤德
nannan408
马皇后不怕朱元璋的坏脾气,并敢理直气壮地吹耳边风。众所周知,朱元璋不喜欢女人干政,他认为“后妃虽母仪天下,然不可使干政事”,因为“宠之太过,则骄恣犯分,上下失序”,因此还特地命人纂述《女诫》,以示警诫。但马皇后是个例外。
有一次,马皇后问朱元璋道:“如今天下老百姓安居乐业了吗?”朱元璋不高兴地回答:“这不是你应该问的。”马皇后振振有词地回敬道:“陛下是天下之父,
选择某个属性值最大的那条记录(不仅仅包含指定属性,而是想要什么属性都可以)
Rainbow702
sqlgroup by最大值max最大的那条记录
好久好久不写SQL了,技能退化严重啊!!!
直入主题:
比如我有一张表,file_info,
它有两个属性(但实际不只,我这里只是作说明用):
file_code, file_version
同一个code可能对应多个version
现在,我想针对每一个code,取得它相关的记录中,version 值 最大的那条记录,
SQL如下:
select
*
VBScript脚本语言
tntxia
VBScript
VBScript 是基于VB的脚本语言。主要用于Asp和Excel的编程。
VB家族语言简介
Visual Basic 6.0
源于BASIC语言。
由微软公司开发的包含协助开发环境的事
java中枚举类型的使用
xiao1zhao2
javaenum枚举1.5新特性
枚举类型是j2se在1.5引入的新的类型,通过关键字enum来定义,常用来存储一些常量.
1.定义一个简单的枚举类型
public enum Sex {
MAN,
WOMAN
}
枚举类型本质是类,编译此段代码会生成.class文件.通过Sex.MAN来访问Sex中的成员,其返回值是Sex类型.
2.常用方法
静态的values()方