展开

关键词

Java 1 到 1,000,000 的和

如果让你 1 到 100 万的和是多少,你应该会这样写: @Test public void testSum() { int sum = 0; for (int i = 1; i

6220

JAVA 星座生肖

看五行,今看星座,星座代码,存起来,会用到的:** * 星座生肖器 * Created by fengyunhe 2015812. Calendar.MONTH); int day = time.get(Calendar.DAY_OF_MONTH); if (day < constellationEdgeDay) { month = month - 1; } if (month >= 0) { return constellationArr; } default to return 魔羯 return constellationArr; } ** * 龄 * * @param birthCal * @return 如果生日大于今天的日期,则返回-1 * public static int calcAge(Calendar birthCal) { Calendar y--; } if (y < 0) { return -1; } return y; }}

4320
  • 广告
    关闭

    云产品限时秒杀

    云服务器1核2G首年38元,还有多款热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    1 课:机是如何 1+1=2 的?

    对于初学者,我们只需要考虑一个问题:机是如何 1+1=2 的?正文这个问题看似简单,但通过它可以见微知著。所有表面上复杂的软件运行,都是底层简单的节字叠加。 直到 1972 ,丹尼斯・里奇在贝尔电话实验室设出了通用的 C 语言,编程才彻底走出了蛮荒时代,步入了高速发展的现代。 现在我们仅以 JS——JavaScript 的简写,来探究机是如何 1+1=2 的?首先,打开谷歌浏览器,右健单击空白处,选择 “检查”:? 但自 1946 第一台电子机 ENIAC 诞生,到 1990 第一个浏览器 WorldWideWeb 诞生,仅用了区区 44 ,浏览器是怎么知道 1+1 等于 2 的? 我是 2010 出厂的酷睿 i7-980X,晶体管数量不多,也就 11 亿多个吧。注:现代机 CPU 里用的是更高级更微小的场效应管,本质上也是一种晶体管。

    52620

    为什么机起始时间是197011日?

    另外,Unix是在1971发明出来的,当时的机系统是32位,如果用32表示有整数,那么最大值是2147483647(2^31-1)。 那么,简单做一个数学,如果用当时的时间戳方式来表示时间的话,Unix时间戳最多可以使用4294967296(60*60*24)60 = 828.5天(一天有60*60*24秒,每160秒会占用一个时间戳 想象一下,设出一个机系统,他的时间只能表示 828.5天,是不是很难让人接受,但是最初的Unix确实是这样的。后来,Unix的开发者们也渐渐意识到这样不是长久之,于是开始做出改变。 应该很多人都记得《苹果1970 事件》,在几前,一个名为vista980622的网友在国外网站Reddit的论坛上发表了一篇“把iPhone时间改成197011日,手机即可永远变砖”的帖子。 但是,IOS设备是以UTC时区(GMT时间)的197011日0点0时0秒为界限,数值为0,用户把时间调整到196912月31日16时0分0秒,系统就要出现负值的时间。

    26520

    *功能:日期:2013-06-19* #include#include int numOfAge(int sum,int i); int main (void){ printf(第一个人的龄为 10岁时,n第五个人的龄为:); printf(%d岁。 ); return 0;}************************************************************************函数名:numOfAge功能:参数 :int sum 第一个人的龄 int i 第几个人返回值:第五个人的龄*************************************************************** ******int numOfAge(int sum,int i){ if (i >= 5) { return sum; } else { sum = sum + 2; numOfAge(sum,i+1)

    21020

    1-1 Java基础-位运

    1-1 Java基础-位运什么是位运? 一个字节=8位二进制 1k=1024字节 1k=1024*8位二进制位运其实就是移位运,将内存里面的二进制进行移位 比如二进制=101向右移1位 010|1 移位之后的1其实已经不被在内了, 变成内存里面的垃圾 在java中,一个int数值类型有32位二进制 1位是符号位,从2的0次方开始起,数值的范围为 Java的位运带符号位的位运右移就是向右移一位 101 0101 记住这是带符号位的移位无符号位运 >>> 和 > 31; System.out.println(i); }}运行上面的程序可以观察到输出1,证明了上面的理论

    23820

    php 循环 1+1+2+1+2

    方法一: for 循环function add($n,$sum=0){    for($i = 1;$i

    24110

    漫话:为什么机起始时间是197011日?

    另外,Unix是在1971发明出来的,当时的机系统是32位,如果用32表示有整数,那么最大值是2147483647(2^31-1)。 那么,简单做一个数学,如果用当时的时间戳方式来表示时间的话,Unix时间戳最多可以使用4294967296(60*60*24)60 = 828.5天(一天有60*60*24秒,每160秒会占用一个时间戳 想象一下,设出一个机系统,他的时间只能表示 828.5天,是不是很难让人接受,但是最初的Unix确实是这样的。后来,Unix的开发者们也渐渐意识到这样不是长久之,于是开始做出改变。 应该很多人都记得《苹果1970 事件》,在几前,一个名为vista980622的网友在国外网站Reddit的论坛上发表了一篇“把iPhone时间改成197011日,手机即可永远变砖”的帖子。? 但是,IOS设备是以UTC时区(GMT时间)的197011日0点0时0秒为界限,数值为0,用户把时间调整到196912月31日16时0分0秒,系统就要出现负值的时间。

    3.7K30

    知识扩展----为什么机时间要从197011日开始起?

    今天我们来讨论一个非常有意思的事,那就是你知道为什么机时间和众多的编程语言的时间都要从197011日开始起呢,时间时起点到底为什么是 197011号呢? 1、 最懒的解释----很多编程语言起源于UNIX系统,而UNIX系统认为197011日0点是时间纪元,所以我们常说的UNIX时间戳是以197011日0点为时起点时间的。 说了这个懒人的解释,估大家还没有懂得真正的意思。所以我们接下来深入的了解一下。2、 深入的了解----最初机操作系统是32位,而时间也是用32位表示。 System.out.println(Integer.MAX_VALUE);2147483647Integer 在JAVA内用32位表示,因此32位能表示的最大值是2147483647。 到 这里,我想问题的答案已经显现出来了,那就是:因为用32位来表示时间的最大间隔是68,而最早出现的UNIX操作系统考虑到机产生的代和应用的 时限综合取了197011日作为UNIX TIME

    55720

    java模式(1)

    java的设模式大体上分为三大类:创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 设模式需遵循6个原则:1、开闭原则 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。 2、里氏代换原则-面向对象设的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。 还是一个降低类之间的耦合度的意思,从这儿我们看出,其实设模式就是一个软件的设思想,从大型软件架构出发,为了升级和维护方便。也就降低依赖,降低耦合。 总体来说 1、工厂模式适合:凡是出现了大量的产品需要创建,并且具有共同的接口时,可以通过工厂方法模式进行创建。

    15820

    学习1

    1的兴起IaaS 【infrastructure as a service】 基础架构即服务 Amazon AWSSaaS 【software as a service】软件即服务 Salesforce.comPaaS platform as a service】平台即服务 google appp engine网络分发,自助服务,可衡量的服务,资源灵活调度,资源池化IaaS SaaS PaaS公有云,私有云,社区云,混合云云的 5大特征1 自助式服务2 通过网络分发服务3 资源池化4 资源灵活调度  webEx全球视频会议  amazon ec2 5 可衡量的服务SaaS 软件即服务-- 用户通过网络客户端访问CRM客户关系管理 ,电子邮件,虚拟桌面,统一通信,在线游戏PaaS平台即服务-- 软件业务运行的环境数据库,开发工具,web服务器,软件运行环境IaaS基础架构即服务-- 用户直接访问底层的资源、存储资源和网络资源虚拟机 根据不同的业务数据的优先级有针对性的分配带宽、缓存等网络资源DCB(data center bridge)数据中心以太网标准集FCOE(fiber channel over ethernet)基于以太网的光纤存储网络3 网络准入云安全建设

    41490

    机安全(1

    少量概念CIA即Confidentiality(保密性)、Integrity(完整性)、Availability(可用性)TCSEC、ITSEC、CC机安全的标准,按时间排序,TCSEC最先提出了TCB (可信基)与访问控制机制,ITSEC提出了CIA,CC即现行的信息技术安全评估通用准则。 公开密钥法非对称加密,加密使用公开的Pulic Key,解密使用私有的Private Key。包括RSA等,支持实现数字签名。密码分析包括穷举、统分析、数学分析。 密钥K是m*m的矩阵,在模26运中可逆,即K*K^-1=I(mod 26)。加密时m个连续明文作为行向量与密钥K相乘并mod26,解密时m个连续密文与K^-1相乘并mod26。 但如果有很多明文-密码对,或者攻击者可以获取各种明文的密码,那么密钥K很容易被出来。置换技术传统密码的两个要点,即替换与置换,交换位置能更好地保密信息。

    18820

    分布式1

    网格,云与分布式的区别网格强调资源共享,使用者同时也是资源共享者,用于集中性服务(不便扩展 )。 云的服务提供者少数而集中,资源专有,便于自动化扩展(其中对等更便于扩展,即每个节点拥有对等的服务,可以互相使用数据),使用者无需贡献资源。 分布式指将大型任务划分成部分,分配给其他机,并将结果组合的解决方案,包括云与网格。而并行虽然类似,但并行的单位是处理器,执行并行的单位是单机。 分布式范型消息传递范型A发送请求消息,B接收并应答,并可能继续触发A应答。客户-服务器范型服务器被动响应客户端请求。peer to peer范型每个节点责任相同,即充当服务器又作为客户端。

    40740

    QT(二).器(1

    代码在不同平台上生成的应用,界面风格将会迥异(随平台而定)Qt 是 C++ 编程思想的集大成者,从中可以习得很多优秀的编程最佳实践前面一篇使用 Qt 实现了一个简单的 helloworld 窗口,下使用 Qt 制作一个简单的器 etcissueCentOS release 6.6 (Final)Kernel r on an m $ uname -a Linux h102.temp 2.6.32-504.el6.x86_64 #1 ,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=usrlibjvmjava-1.5.0-gcj-1.5.0.0jre version 4.8.6 in usrlocalTrolltechQt-4.8.6lib$Tip: 虽然 Qt 的最新版本为 Qt 5.8 ,但是这里实验依旧使用的 Qt version 4.8.6----器要求使用 87 53 30 9 188 87 52 30 - 11 123 53 30 4 70 123 53 30 5 129 123 53 30 6 188 123 52 30 + 11 159 53 30 1

    10710

    机-底层-1

    就是传输的设备 数据链路层, 以太网协议规定,连入网络的每一个机都会有网卡接口,每一个网卡都会有一个唯一的地址,这个地址就叫做 MAC 地址。 一个帧分为head以及data两个部分,head中存储了一系列的参数MAC地址就是其一,data存储了机之间交互的数据。 网络层, 对与相同子网的机可以数据交互之后,对与不同子网的机我们应该怎么办呢? 传输层, 上面已经实现了互联网中两台机的数据传输交互,但是如何确保数据被准确的分配给请求的接口呢?

    9420

    java根据身份证号或生日

    最近的项目中需要根据身份证号来龄。废话少说,上代码。 private static final int invalidAge = -1;非法的龄,用于处理异常。 ** *根据身份证号码龄 * @param idNumber 考虑到了15位身份证,但不一定存在 * public static int getAgeByIDNumber(String idNumber dateStr); return getAgeByDate(birthday); } catch (ParseException e) { return invalidAge; } } ** *根据生日龄 simpleDateFormat.parse(dateStr); return getAgeByDate(birthday); } catch (ParseException e) { return -1;

    1.9K30

    Java输入日期是这的第几天

    Java输入日期是这的第几天1.思路通过份区分出是闰还是平,平 2 月 28 ,闰 2 月 29 天;1、3、5、7、8、10、12 月份 31 天其余月份均为 30 天;然后将每个月的天数相加即可 ,注意如果输入的是 12 月份,则是从 11 月份往前累加到1月份,1月份加的是输入的天数;2.实现import java.util.Scanner; ** * Created by xpf on 2018622 int DAYS_30 = 30; *1、3、5、7、8、10、12月份31天* private static final int DAYS_31 = 31; public static void main 如果是1月份就加上输入的天数 totalDays += day; } return totalDays; }}3.思考因为只有2月份的天数和输入的 day 天数是不固定的,其他月份的天数是固定的,而固定的天数是可以通过输入的月份出来 ,这样我们就可以这样:2 月份的天数 + 输入的天数 + 出来的固定天数如果大家还有其他的更好的优化的都可以在下面评论。

    34110

    JS是如何 1+1=2 的?

    身为程序员多,作者今天突然对这件事感到十分好奇了。我问机芸芸部件,1+1究竟是如何的,他们都茫然的看着我。 作者问浏览器:“你小子是怎么知道1+1等于2的?纵观人类进化史,从学会使用石头,到学会结绳记数,用了100万。你纪轻轻28岁,是怎么知道1+1等于2的?”浏览器说:“我不知道啊,是v8告诉我的。” 1+1等于几是他出来的,于是作者问道:“CPU,那加法器是如何1+1的呢?”CPU道:“这就不那么简单了。加法器并不知道1+1等于几。 所以,我的加法运能力也不是无限的,能多大数字是由硬件决定的。”这下明白了,CPU并不知道1+1等于2。之所以1+1出等于2,是人类在设CPU的时候赋能给它的。 原来作者在浏览器里简单敲一个1+1,CPU那里就要噼里啪啦开关个不停。机并没有智能。

    54820

    Java|递归

    问题描述在本周的java框架学习中,在讲述aop的时候,利用测试递归和迭代两种方式斐波拉契数列的效率进行了讲解,由于java基础知识不牢固,所以又回顾了递归这种方法。以下是对这种方式的学习见解。 具体内容一.斐波拉契数列的概念:指的是这样一个数列:11、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n - 1) +F(n - 2)(n ≥ 3,n ∈ N*)二.递归法什么是递归?

    25030

    Day 1-Java-imooc-3.运

    本文结构: Java 语言中常用的运符可分为如下几种:术运符赋值运符比较运符逻辑运符条件运符---- 术运符 ? 赋值运符 ? 比较运符 ? 逻辑运符 ? 条件运符 条件运符( ? : )也称为 “三元运符”。语法形式:布尔表达式 ? 表达式1 :表达式2 运过程:如果布尔表达式的值为 **true ,则返回 表达式1 的值,否则返回 表达式2 **的值 优先级 级别为 1 的优先级最高,级别 11 的优先级最低。 ?

    46560

    相关产品

    • 流计算 Oceanus

      流计算 Oceanus

      流计算 Oceanus 是基于Flink构建的云上全托管的实时计算服务。您无须关注基础设施运维,通过云端一站式开发环境,轻松构建点击流分析、电商精准推荐、金融风控、物联网 IoT 等应用。

    相关资讯

    热门标签

    扫码关注云+社区

    领取腾讯云代金券