摩尔定律

131 篇文章 1 订阅

回文子串 从左往右和从右往左一样的字符串
递归算法的重要性
高电位和低电位来进行计算机的存储
比特 bit 位是计算机中最小的存储单位
字节水表示存储的最小单位
带宽的概念是传输的速度大小 bit/s
单位时间内传输的数据的大小

摩尔定律 18月翻一番

瓶颈:
1.晶体管大小限制 晶体管数量不断增加,因此其大小不断变小,如果不断持续变小,那么很快就会缩小到一个原子那么大
2.电泄露
3.散热 随着晶体管速度和密度的增加,会消耗更多的电力 和原子能的能量联系????

CPU芯片大小增大的困扰
如果增大,会需要更高的电压,会产生更多的热量,因此不能增大芯片的体积

摩尔定律失效之后…

量子计算机 生物计算机 光子计算机等

量子计算机:

1982年 费曼 提出
希望能够利用计算机去模拟量子世界的计算能力
解决方案:用可控的量子体系去进行模拟和计算
基本原理:
传统计算:
比特,保存一对零和一
N个比特,只能存储2的N次方个数中的一个二进制数
量子计算:
量子比特,可以同时保持多种状态
N个量子比特,可以同时存储2的N次方个二进制数

计算方面:
输入一个数据,完成一次运算,输出一个数据
量子:
输入很多个数据,同时计算多次运算,输出多个数据

300个量子比特,其承载的数据为2的300次方,数字非常巨大,据说超出了整个宇宙的所有原子总和

量子的保持和提取是具有一定的成功概率的,因此我们需要:
利用多个量子比特位进行冗余的计算,从而确定计算结果的正确
大约1000个物理量子比特就能够超越传统计算机的能力

实现量子计算的难点:
不能收到外界环境的干扰,只有与外界保持隔离才能够保持良好的相干性
只有能够与外界进行良好的耦合,才能够控制演化并且读出结果

努力:
给予核磁共振的系统
超导量子
量子井
光量子等

成就:
NIST 2009年
研制出一台具有两个量子位的可编程量子计算机

D-wave公司推出第一台商用量子计算机

潜在应用
语音搜索 行星大气 气候变化 图像搜索 行星撞击 病毒分析 大数据 星系碰撞 海啸模拟

利用人脑合并思维去进行量子计算机的计算
量子计算机需要人类的配合

计算机十五年周期规律

引领变革之人

程序运行的基本原理

EDVAC 冯诺依曼
存储程序式原理

java会自动清理垃圾,回收空间,回收垃圾的堆

编译和虚拟机
编译将高级代码转化为二进制机器语言代码
虚拟机为了应付不同的平台,使java代码能够在不同的平台上使用

封装 private public
setters getters 通过调用这两个函数,我们才能够对对象变量进行取用,因此我们并不能够随意取用变量的值,不能够随意修改。
男人欺负女人是本能,男人让着女人是本事。

多态和继承 可以让任何人舒适地进行修改程序以适应自己的需求。

接口是100%的纯抽象类 abstract

抽象类不能够被初始化从而创造出一个实例,就是不能被new

java注重引用变量的类型

interface 接口 其中的方法全都是抽象的 一定要以分号结尾

primitive主数据类型 引用数据类型

接口就是一种规范,可以让其它人知道你的对象使用了什么技能

创建一个对象
声明引用变量,创建对象,连接对象和引用
dog dogone= new dog();
构造函数会带有你在初始化对象时执行的程序代码,也就是新建一个对象时就会被执行,就算你自己没有写构造函数,编译器也会帮你写一个。

重载构造函数意味着你有一个以上的构造函数,且参数都不相同

构造函数:
public calss map entrend laala{
public map(){
super()
}
}
super必须写在函数的首行;
this()代表类本身 只能用到构造函数中,且只能够在第一行,因此,一个构造函数中不能够同时拥有this和super

3.5f 强制转化精度

对象一定放在堆上
如果局部变量为primitive就存放在栈上
如果局部变量是对象引用变量,只有引用变量存放在堆上,对象本身仍然存放在堆上
实例变量存放在堆上,如果实例变量是一个对象引用变量,那么,引用变量和对象本身都存放在堆上。

实例变量:保存对象的状态
局部变量:保存方法的状态 栈变量 变量作用域

方法释放对象的引用三种情况:
1.方法结束
2.引用被赋值到其它的对象上
3.直接将引用设定为null

局部变量只生活在方法中
实例变量随着对象的生死而生死

静态方法 static 表示出不需要类实例的方法
public class math{
public static int min (inta,intb){
}
}

调用方式:
math.min(42,46);

静态变量为该变量所属类的成员所共享,静态变量只会有一份,而不是每个实例都会有自己的一份。
静态方法可以存取静态变量。

autoboxing

图形用户接口

事件处理与内部类别
任务:
制作按钮,绘制屏幕动画,现实jpeg功能,动画

Jframe是一个代表屏幕上windows的对象
swing组件
OS X(前称Mac OS X)是苹果公司为麦金塔电脑开发的专属操作系统。
widget装饰物,小部件
JFrame frame = new JFrame();
frame.getContentPane().add(button);
frame.setSize(500,400);
frame.setVisible(true);
button.addActionListener(this);
public void actionPerformed(ActionEvent event){button.setText(“clicked”)};

怎么确保当某事件发生时会调用指定的方法?
如果想要知道按钮的事件,就会监听事件的接口。
interface声明调用方法的地方
事件的对象
java.awt.event,看到一组的事件类
用户做出相应动作,事件源(按钮)就会产生事件对象。
一般你的程序会花费较多的时间当监听者而不是事件来源。

每个graphics对象的后面都有个graphics2D对象
public void paintComponent(graphics g) { }

Image image = new imageicon(“pic.jpg”).getimage();
g.drawimage(image,3,4,this)

调用graphics2D对象前,你必须把graphics对象转化为graphics2D对象
事件 图形

我们可以获得事件,也可以绘制图形

在获得时间时绘制图形:

超过一个以上的widget的frame
frame默认有五个区域可以安放widget,但是每个区域只能安置一项 能够安置包括面板在内的三项东西的面板
面板上放置面板
frame. getContentPane().add(borderlayout.CENTER,button);
java中面板和框架的区别
尝试两个按钮
解决办法:需要对两个按钮注册同一个监听口
查看事件对象实际上是哪个事件源发出的

内部类
一个类可以嵌套在另一个类的内部
内部类的定义是包含在外部类的括号中
内部类可以使用外部类的所有的方法和变量,就算是私有的也可以
class MyOutClass{
class MyinnerClass{
void go()
{
}
}
}
内部类的实例一定会绑定在外部类的实例上

1.创建外部类的实例
2.使用外部类的实例创建内部类的实例
3.外部对象和内部对象有着亲密的链接

创建内部类的实例
如果你从外部类程序代码中初始化内部的类,此内部对象会绑定在该外部对象上。
例如某个方法的程序代码会初始化内部的类,此内部对象会绑定在执行该方法的实例上。

当然你也可以从外部类以外的程序代码来初始化内部实例,但是这要使用特殊的语法。
例如:
class Foo{
public static void main (String[] args)
{
Myouter outerobj=new Myouter();
Myouter.Myinner innerobj=outerobj.new Myinner();

}
}

public class Twobuttons{
JFrame frame;
JLabel label;
public static void main(String[] args)
{
Towbuttons gui = new Twobuttons();
gui.go();
}
public void go {

}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值