当前位置: 首页 > news >正文

百度站长平台怎么用网站打模块

百度站长平台怎么用,网站打模块,上海资格证报名网站,19楼网站模板#xff08;Bill Joy(左一)#xff0c;Vinod Khosla(左二)#xff0c;Andy Bechtolsheim(右二)#xff0c;Scott McNealy(右一) #xff09; CSDN 博文征集活动#xff08;和日期相关的代码和bug#xff09;#xff1a;点击这里 各位 “big guys”#xff0c;这篇博文… Bill Joy(左一)Vinod Khosla(左二)Andy Bechtolsheim(右二)Scott McNealy(右一) CSDN 博文征集活动和日期相关的代码和bug点击这里 各位 “big guys”这篇博文主要讲解一下JDK8 之后 时间相关 API 的变革与 Java 源起两部分内容。JDK8 Oracle 更新了大量新特性比如大家熟知的 Stream 和 Lambda API本文主要重点讲解时间相关的API。 文章目录Part A我记忆中的 Java 源起公司 Sun MicrosystemsSun 故去的辉煌太阳从升起到最耀眼花了近二十年而陨落却只用了不到一年时间Part BJava 中的时间、日期 APIJDK8 以前的时间、日期 API 以及缺点JDK8 新日期、时间 API新日期与时间类LocalDate 和 LocalTimeLocalDateTimeInstantDurationPeriod日期的操作和格式化增加和减少日期格式化日期时区 相关Part C没有如果的如果云计算领域博主怎会在文中不提云计算Part A我记忆中的 Java 源起公司 Sun Microsystems 在2000年最高峰期 Sun 公司 市值最高时超过 2000亿美元全球有5万多员工。当时在“新经济四骑士”即Sun Microsystems、甲骨文、思科和EMC的推动下科技行业不断走向繁荣那个时候马克·扎克伯格Mark Zuckerberg还是一个高中生而我还不知道在哪里玩泥巴更不知道 Java 是个什么东西。 (Sun 公司大记事时间线bluetata 原创转载请注明出处)Sun 故去的辉煌 我上大学之后才知道 Sun 公司才开始了解 Eclipse日食基金会Oracle微软IBMGoogle这几个公司的世纪大战与渊源纠缠也知道了 Java。 Sun 公司和很多传奇企业一样都是从斯坦福大学孵化出的高科技公司Sun 公司的名字由来就是斯坦福大学网络Stanford University Network的首字母缩写而来说来斯坦福大学也真的传奇堪称高科技公司的摇篮孵化场硅谷的支柱。以后有机会可以写一篇文章来做介绍。 Sun 在 1995 年发明了 Java 语言有人可能不太明白觉得语言又卖不了钱新推出的语言一般都是求着开发者去使用是的语言确实卖不了钱打个比方 English 这门语言是公开的它不是商品但是服务和解决方案却是要收钱的很遗憾 Sun 没有发现这一点。 那么 Java 本身的潜质怎么样呢可以用“横空出世后无来者”来形容。这个不能说的太细马上就会打起来了比如有人会说 php 必须是最好的语言程序员之间相互评论对方的语言就像是不同的大夫评论彼此的处方一样是非常不文明的行为有时候更像是不同教徒评论对方的信仰。 Sun 公司除了造就了 Java 外还被大家熟知还有Solaris 操作系统、ZFS、网络文件系统(NFS)、和SPARC 微处理器其实 Sun 公司对多项关键计算技术的发展做出了重大贡献其中包括Unix、RISC 处理器、瘦客户端计算和虚拟化计算. 值得注意的 Sun 收购包括VirtualBox的创建者Cray Business Systems Division、Storagetek和Innotek GmbH。 注意这里所提到的Sun 公司以前拥有过虚拟化技术 VirtualBox也就是在 2008年 Sun 收购了 VirtualBox当然现在你也已经知道 VBox现在是 Oracle 的产品了。 Sun 公司市值最高的时候超过市值超过两千亿美元而且远远超过当时市值排名第二的 Google 的一千七百亿美元、和排名第三的 IBM 的一千六百亿美元。它的办公面积超过五十个足球场四十五万平方米并且还有十几个足球场大小的办公楼。太阳公司不仅当时打败了包括 IBM 在内的全部工作站Work Station和小型机Mini Computer公司而且依靠它的 Solaris一种Unix和风靡世界的 Java 程序语言成为在操作系统上最有可能挑战微软的公司。太阳公司不乏能人它不仅为 Google 培养了 CEO 埃里克·施密特和首任工程部副总裁韦恩.罗森Wayne Rosen并且在一定程度上奠定了今天 Google 工程部门的基础。 太阳从升起到最耀眼花了近二十年而陨落却只用了不到一年时间 2008年金融危机你一定知道Sun 公司也没有挺过这次危机最终结果是 Sun 公司破产于 2009年被 Oracle 公司以74亿美元收购。 早在2000美国互联网泡沫破裂之后Sun 公司从前一年盈利9亿美元瞬间变成亏损5亿美元之后便一蹶不振跌出一线互联网巨头行列。其中缘由种种很难用一句话两句话可以讲完巨难受中… …。 (钢铁侠3剧照 1:05:17处)Sun 公司失败了但成功的是留下了 Java。 1991年4月James GoslingJAVA之父博士带着一帮小弟开始了绿色计划这个计划最初目标是为了开发一种能在各种电子产品上跑的程序架构。这个就是 Java 的前身Oak。 1995年互联网兴起后Oak更名为 Java在 SunWorld 大会上正式发布 Java1.0并提出了 “Write OnceRun Anywhere”。(Java想偷懒么 那就加入我们吧 (左一不知道是谁看鼻子像Bechtolsheim右一是Java之父James Gosling)Part BJava 中的时间、日期 API JDK8 以前的时间、日期 API 以及缺点 java.util.Date 可以说是一个糟糕的类型这也就解释了为什么在 Java 1.1 中弃用了这么多但不幸的是很多地方仍在使用。 上学的时候记得老师讲课的时候就有吐槽过Date类型的设计缺陷毕业后感触越发强烈。设计缺陷总结起来包括 旧 Date API 的名字具有误导性它不代表一个Date它代表一个瞬间。所以它应该被称为Instant就像它的 java.time 等价一样。 旧 Date API 不是final类型的这就鼓励了对继承的不良使用例如 java.sql.Date这意味着代表一个日期并且由于具有相同的短名称也很容易混淆这一点我到现在都要吐槽以前自动引包快捷键按完的提示记忆犹新 旧 Date API 是可变的日期/时间类型是自然值由于旧 API 是可变的Date类型例如可以通过setTime方法改变这也就意味着开发人员最终会到处创建避免被修改的副本对象哪个S.X这几天改了代码我的代码前几天测试好好的今天怎么bug了 。 // 例如假设我们想比较两个 Date 对象假设它们分别表示的是 2018 年 5 月 28 日和 2018 年 5 月 29 日。那么我们可能会用下面的代码 Date date1 new Date(2018, 5, 28); Date date2 new Date(2018, 5, 29); if (date1.compareTo(date2) 0) { System.out.println(date1 is after date2); }在上述例子中由于 Date 对象是可变的我们需要确保 date1 和 date2 在比较之前没有被修改。如果没有注意date2 可能会在比较之前被修改从而导致比较的结果不准确。 旧 Date API 的月份编号是从 0 开始的早期是直接从C语言中复制过来的这就导致很多月份差一个月的错误。举例来说 Date d new Date(2022, 3, 5);// 此处的3表示4月份因为月份编号是从0开始的 System.out.println(d); // 输出Tue Apr 05 00:00:00 CST 2022旧 Date API 的方法命名不明确getDate() 返回月中的第几天而getDay() 返回星期几造孽啊离谱。 旧 Date API 是否支持闰秒是模棱两可的“秒用0到61的整数表示值 60 和 61 只出现在闰秒中即使这样也只出现在实际正确跟踪闰秒的 Java 实现中。” 我强烈怀疑大多数开发人员包括我自己已经做出了大量假设即 for 的范围getSeconds()实际上在 0-59 范围内含 0-59。 旧 Date API 明确表示一个值一个瞬间没有关联的日历系统、时区或文本格式精确到毫秒。 总之旧的 Date API由于设计缺陷造成很多地方容易出错也迷惑程序员很可能写出很多bug。 JDK8 新日期、时间 API JDK 8中增加了一套全新的日期时间API新的 API 设计合理且是线程安全的。 新日期与时间类 LocalDate 和 LocalTime LocalDate 类表示一个具体的日期但不包含具体时间也不包含时区信息。可以通过 LocalDate 的静态方法 of() 创建一个实例LocalDate 也包含一些方法用来获取年份月份天星期几等 LocalDate localDate LocalDate.of(2023, 2, 22); // 初始化一个日期2023-02-22 int year localDate.getYear(); // 年份2023 Month month localDate.getMonth(); // 月份FEBRUARY int dayOfMonth localDate.getDayOfMonth(); // 月份中的第几天22 DayOfWeek dayOfWeek localDate.getDayOfWeek(); // 一周的第几天WEDNESDAY int length localDate.lengthOfMonth(); // 月份的天数28 boolean leapYear localDate.isLeapYear(); // 是否为闰年false// 也可以调用静态方法now()来获取当前日期 LocalDate now LocalDate.now(); // 2023-02-22LocalTime 和 LocalDate 类似他们之间的区别在于 LocalDate 不包含具体时间而 LocalTime 包含具体时间例如 LocalTime localTime LocalTime.of(8, 8, 8); // 初始化一个时间8:08:08 int hour localTime.getHour(); // 时8 int minute localTime.getMinute(); // 分8 int second localTime.getSecond(); // 秒8LocalDateTime LocalDateTime 类可以看做是 LocalDate 和 LocalTime 的结合体可以通过 of()方法直接创建也可以调用 LocalDate 的 atTime() 方法或LocalTime 的 atDate() 方法将 LocalDate 或 LocalTime 合并成一个 LocalDateTime例如 LocalDateTime ldt1 LocalDateTime.of(2023, Month.JANUARY, 4, 17, 23, 52);LocalDate localDate LocalDate.of(2023, Month.JANUARY, 4); LocalTime localTime LocalTime.of(17, 23, 52); LocalDateTime ldt2 localDate.atTime(localTime);// LocalDateTime 也提供用于向 LocalDate 和 LocalTime 的转化 LocalDate date ldt1.toLocalDate(); LocalTime time ldt1.toLocalTime();Instant Instant 用于表示一个时间戳它与我们常使用的 System.currentTimeMillis() 有些类似不过 Instant 可以精确到纳秒Nano-SecondSystem.currentTimeMillis() 方法只精确到毫秒Milli-Second。如果查看 Instant 源码发现它的内部使用了两个常量seconds 表示从1970-01-01 00:00:00 开始到现在的秒数nanos 表示纳秒部分nanos 的值不会超过999,999,999。Instant 除了使用 now() 方法创建外还可以通过 ofEpochSecond 方法创建例如 // ofEpochSecond()方法的第一个参数为秒第二个参数为纳秒 // 下面代码表示从1970-01-01 00:00:00开始后两分钟的10万纳秒的时刻 Instant instant Instant.ofEpochSecond(120, 100000); // 1970-01-01T00:02:00.000100ZDuration Duration 的内部实现与 Instant 类似也是包含两部分seconds 表示秒nanos 表示纳秒。两者的区别是 Instant 用于表示一个时间戳或者说是一个时间点而 Duration 表示一个时间段所以 Duration 类中不包含 now() 静态方法。可以通过 Duration.between() 方法创建Duration对象例如 LocalDateTime from LocalDateTime.of(2023, Month.JANUARY, 5, 10, 7, 0); // 2023-01-05 10:07:00 LocalDateTime to LocalDateTime.of(2023, Month.FEBRUARY, 5, 10, 7, 0); // 2023-02-05 10:07:00 Duration duration Duration.between(from, to); // 表示从 2023-01-05 10:07:00 到 2023-02-05 10:07:00 这段时间long days duration.toDays(); // 这段时间的总天数 long hours duration.toHours(); // 这段时间的小时数 long minutes duration.toMinutes(); // 这段时间的分钟数 long seconds duration.getSeconds(); // 这段时间的秒数 long milliSeconds duration.toMillis(); // 这段时间的毫秒数 long nanoSeconds duration.toNanos(); // 这段时间的纳秒数Duration 对象还可以通过 of() 方法创建该方法接受一个时间段长度和一个时间单位作为参数例如 Duration duration1 Duration.of(10, ChronoUnit.DAYS); // 10天 Duration duration2 Duration.of(1000, ChronoUnit.MILLIS); // 1000毫秒Period Period 在概念上和 Duration 类似区别在于 Period 是以年月日来衡量一个时间段比如5年3个月4天 Period period Period.of(5, 3, 4);Period 对象也可以通过between()方法创建值得注意的是由于 Period 是以年月日衡量时间段所以 between() 方法只能接收 LocalDate类型的参数例如 // 2023-01-05 到 2023-02-05 这段时间 Period period Period.between(LocalDate.of(2023, 1, 5),LocalDate.of(2023, 2, 5));日期的操作和格式化 增加和减少日期 JDK8 中的日期、时间类都是不可变的用final修饰这是为了保证线程安全。当然新的日期/时间类也提供了方法用于创建对象的可变版本比如增加一天或者减少一天这就非常Oracle有没有觉得和数据库的时间加减函数一样例如 LocalDate date LocalDate.of(2023, 1, 5); // 2023-02-22LocalDate date1 date.withYear(2023); // 修改为 2023-02-22 LocalDate date2 date.withMonth(2); // 修改为 2023-02-22 LocalDate date3 date.withDayOfMonth(1); // 修改为 2023-02-01LocalDate date4 date.plusYears(1); // 增加一年 2024-02-22 LocalDate date5 date.minusMonths(2); // 减少两个月 2023-12-22 LocalDate date6 date.plus(5, ChronoUnit.DAYS); // 增加5天 2023-02-27上面例子中对于日期的操作比较简单但是有些时候我们要面临更复杂的时间操作比如将时间调到下一个工作日或者是下个月的最后一天这时候我们可以使用with()方法的另一个重载方法它接收一个TemporalAdjuster参数可以使我们更加灵活的调整日期例如 LocalDate date7 date.with(nextOrSame(DayOfWeek.SUNDAY)); // 返回下一个距离当前时间最近的星期日 LocalDate date9 date.with(lastInMonth(DayOfWeek.SATURDAY)); // 返回本月最后一个星期六格式化日期 新的日期API中提供了一个 DateTimeFormatter 类用于处理日期格式化操作它被包含在 java.time.format 包中JDK 8 的日期类有一个format() 方法用于将日期格式化为字符串该方法接收一个 DateTimeFormatter 类型参数例如 LocalDateTime dateTime LocalDateTime.now(); String strDate1 dateTime.format(DateTimeFormatter.BASIC_ISO_DATE); // 20230222 String strDate2 dateTime.format(DateTimeFormatter.ISO_LOCAL_DATE); // 2023-02-22 String strDate3 dateTime.format(DateTimeFormatter.ISO_LOCAL_TIME); // 14:20:16.998 String strDate4 dateTime.format(DateTimeFormatter.ofPattern(yyyy-MM-dd)); // 2023-02-22 String strDate5 dateTime.format(DateTimeFormatter.ofPattern(今天是YYYY年 MMMM DD日 E, Locale.CHINESE)); // 今天是2023年 二月 22日 星期三同样日期类也支持将一个字符串解析成一个日期对象例如 String strDate6 2023-01-22; String strDate7 2023-02-22 14:30:05;LocalDate date LocalDate.parse(strDate6, DateTimeFormatter.ofPattern(yyyy-MM-dd)); LocalDateTime dateTime1 LocalDateTime.parse(strDate7, DateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss));时区 相关 JDK 8中的时区操作被很大程度上简化了新的时区类java.time.ZoneId是原有的java.util.TimeZone类的替代品。ZoneId 对象可以通过ZoneId.of() 方法创建也可以通过ZoneId.systemDefault()获取系统默认时区例如 ZoneId shanghaiZoneId ZoneId.of(Asia/Shanghai); ZoneId systemZoneId ZoneId.systemDefault();of()方法接收一个“区域/城市”的字符串作为参数你可以通过getAvailableZoneIds()方法获取所有合法的“区域/城市”字符串 SetString zoneIds ZoneId.getAvailableZoneIds();对于老的时区类TimeZoneJava 8也提供了转化方法 ZoneId oldToNewZoneId TimeZone.getDefault().toZoneId();有了ZoneId我们就可以将一个LocalDate、LocalTime或LocalDateTime对象转化为ZonedDateTime对象 LocalDateTime localDateTime LocalDateTime.now(); // 其输出结果为2017-01-05T15:26:56.14708:00[Asia/Shanghai] ZonedDateTime zonedDateTime ZonedDateTime.of(localDateTime, shanghaiZoneId);另一种表示时区的方式是使用ZoneOffset它是以当前时间和世界标准时间UTC/ 格林威治时间GMT的偏差来计算例如 ZoneOffset zoneOffset ZoneOffset.of(09:00); LocalDateTime localDateTime LocalDateTime.now(); OffsetDateTime offsetDateTime OffsetDateTime.of(localDateTime, zoneOffset);Part C没有如果的如果云计算领域博主怎会在文中不提云计算 The employee #8 of Sun: [Tom Lyon](https://akapugs.blog/2022/05/03/674/)在文中 Part A 中我有提到过Sun 公司在 2008年 Sun 收购了 VirtualBox虚拟化技术成熟的公司另外一提的是Sun 最著名的贡献之一是“网络即是计算机The Network Is The Computer”的口号它是由 Sun 公司的 CEO Scott McNealy 在1996年提出的。 他们在近三十年前就意识到 网络即是计算机网络作为单独的研究对象它具有计算能力存储能力这活脱脱就是互联网乃至云计算的思维啊后来大家也知道了真正云计算这个名词开始兴起的时候也就是 Sun 即将破产的时候。 云计算始于2007年当时亚马逊推出S3存储服务开创了全新的云计算时代。随后谷歌微软IBM等多家公司都推出了自己的云计算服务使云计算的发展变得越来越迅速。 如果 Sun 从开始全力投入云计算那么在提出网络即是计算机10年后云计算浮出水面的时候Sun可能就是最大玩家了。 如果 Sun 没有轻敌微软如果 Sun 没有摆烂Java如果 Sun 没有收购 MySQL如果 Sun 不押宝所有赌注在硬件和 solaris x86 上
http://www.w-s-a.com/news/811803/

相关文章:

  • 如何增加网站反链虚拟主机 2个网站
  • 手机网站调用分享wordpress.org移除
  • 工业和信息化部网站备案系统查询市场调研表模板
  • 网站流量转化线下推广活动有哪些
  • 030159网站建设与维护宝安网站公司
  • 个人网站备案网站内容做gif表情包网站
  • 湖南省建设厅城乡建设网站怎么建立一个网站网址
  • 图书馆网站建设的规章制度免费个人主页注册
  • 表格网站源码wordpress更换网站域名
  • 芜湖做网站多少钱做公司的网站的需求有哪些
  • 玉溪网站建设制作凌风wordpress百度云
  • 专业建网站价格门户网站建设 请示
  • 安徽省省博物馆网站建设佛山公司网站设计
  • 温州专业营销网站公司网络建设规划
  • 做模型常说的d站是什么网站wordpress 繁體
  • 给网站做h5缓存机制获取小程序api
  • 网站开发文档东莞市建设网站首页
  • 公共空间设计网站企业门户网站建设教程
  • 网站建设公司 深圳镇江建设质量监督站网站
  • 网站底部版权怎么做软广告经典案例
  • 网站收录突然全部没有了东莞网站建设公司电话
  • 境外企业网站推广免费ppt元素
  • 2018网站建设行业广东网站seo
  • 网站后台加密云服务器2008做网站
  • dw制作一个环保网站模板下载吉安网站建设收费
  • 深圳珠宝网站设计北京高端网站建设优势
  • 合肥企业制作网站wordpress创建网站
  • 织梦网站开发兼职wordpress 中间截取缩略图
  • 南通制作网站旅游搭建网站
  • 专业做商铺的网站个人网页html模板完整代码