Java小结

[b]一.继承,多态,重写[/b]
[u]1.继承 :[/u]降低工作量,降低程序的复杂性,使程序提高可扩展性......
一个类继承另一个类(一个接口继承另一个接口)的关键字是extends,类之间的继承只能一对一,不能继承多个类。
继承的格式:public class 子类名 extends 父类名{}
一个类继承接口的关键字是implements;一个类可以继承多个接口,接口之间用逗号隔开;
继承的格式:public class 类名 implements 接口名,接口名……{}
继承到了什么
子类继承到了父类的所有公有属性和公有方法,构造函数是不能被继承的。
[u]2.多态:[/u]多态是指:虽然是同一类型的对象,但在具体的调用时,由于继承和重写机制,方法执行的结果不同。也就是,只有运行时才知道结果是什么,这是Java和其他编程语言的一个不同点。
[u]3.重写:[/u]重写是指,在子类中对从父类继承来的方法进行重写,即保持方法定义的不变,但方法内部实现同父类的不同。下面用一个列子来把这三个东东联系起来。
先写一个StudentModle接口
public interface StudentModle{
public void study();
public void play();
}
写一个Student类继承StudentModle接口
public class Student implements StudentModle{
//实现接口中的方法
public void study(){
System.out.println(“我在学习中……”);
}
public void play(){
System.out.println(“我在游戏中……”);
}
}
好了,在写一个UNStudent子类来继承父类Student类
public class UNStudent extends student{
//重写父类的study方法
public void study(){
System.out.println(“我是大学生,我在学习……“);
//子类特有的方法
public void makeGF(){
System.out.println(“我在约会呢……”);
}
}
}
线索已经十分清晰了,UNStudent类的对象可以掉用父类中的所有方法,同时又具有自己独特的方法。
[b]二.数据类型、值传递和引用传递有什么区别,String是什么传递[/b]
[u]1. 数据类型:[/u]Java中的数据类型分为两大类,即原始数据类型和对象类型(或引用类型),后者是由Java类生成的对象的类型。
其中基本类型包括:byte(1字节),int(4字节),short(2字节),long(8字节),char(2字节),float(4字节),double(8字节),boolean(true/flase)。
[u]2. 值传递:[/u]值传递只要指在基本数据类型之间在调用传递时遵守的规则。
即:将目标变量的值重新拷贝一份,传递到新的变量中,这样就形成了两份独立的数据。如果对新的变量的值做任何修改,是不会影响到目标变量的值;反之一样。
[u]3. 引用传递:[/u]引用传递:适用于所有的类类型(自定义的类类型) ,创建对象的时候,对象名中保存的是对象实例在内存中的地址,如果对对象名做修改,对象实例是不会受到影响的。
[u]4. Sting的传递:[/u]首先,Sting是Java里面的一个特殊的类,而不是一种基本数据类型,它有自己的方法和属性,所以Sting的传递是引用传递。
[b]三.3.Set如何遍历,有哪些子类、List如何遍历,有哪些子类、Map如何遍历,有哪些子类
Map中是否可以放入null的key或Vlaue?Set,List呢?[/b]Set是一个接口,不能直接创建对象,它实现的子类有:HashSet<E>、TreeSet<E>、LinkedHashSet<E>、JobStateReasons、EnumSet<E extends Enum<E>>、CopyOnWriteArraySet<E>、ConcurrentSkipListSet<E>、AbstractSet<E>,其中常用的有HashSet<E>、TreeSet<E>两个。它的对象是一个无序的集合,要遍历则得到对象的迭代器,方法为:java.util.Iterator<E> iterator=对象名. iterator(),遍历时的格式为:
while(iterator.HasNext){
for(int i=0;i<对象名.size();i++){
System.out.println(iterator.next());
}
}
List也是一个接口,它实现的子类有:AbstractList, AbstractSequentialList, ArrayList, AttributeList, CopyOnWriteArrayList, LinkedList, RoleList, RoleUnresolvedList, Stack, Vector,其中,比较常用的有ArrayList,它的遍历方法用for循环来。格式为:
for(int i=0;i<变量名.size();i++){
System.out.println(变量名.get(i));

}
Map 同样是一个接口,它的子类有:AbstractMap, Attributes, AuthProvider, ConcurrentHashMap, ConcurrentSkipListMap, EnumMap, HashMap, Hashtable, IdentityHashMap, LinkedHashMap, PrinterStateReasons, Properties, Provider, RenderingHints, SimpleBindings, TabularDataSupport, TreeMap, UIDefaults, WeakHashMap。它的遍历比前面两个都复杂。它首先要得到Key的集合。格式为:java.util.Set<E> set = 变量名.keySet();然后再得到set的迭代器:java.util.Iterator<E> iterator = set.iterator();最后通过while循环;
while (iterator.hasNext()) {
E string = iterator.next();
Value值类型 count = map.get(string);
System.out.print(string + "\t" + count + "\n");
}
[b]四. 递归与循环的区别[/b]一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。使用递归时应该注意:1) 递归就是在过程或函数里调用自身;
2) 在使用递增归策略时,必须有一个明确的递归结束条件,称为递归出口。
在很多种情况下,迭代和递归都可以完成相同的功能, 不过递归有些功能迭代就完成不了。 并且代码没有递归简洁,熟练使用递归后能提高代码质量。
循环是指一个过程或函数在其定义或说明中不断地重复某个过程,当不满足条件时退出循环,循环也必须有出口,否则就是死循环。其实递归是循环的一种特殊的形式。

[b]五.I/O流继承体系结构图和分类。文件复制的实现,原始数据类型读写[/b]2.文件复制的实现:
源码:

public class ReadFile {
public static void main(String args[]) {
ReadFile rf = new ReadFile();
// 文件的路径
String path = "C:\\Documents and Settings\\Administrator\\桌面\\MATLAB基础教程.pdf";

String dest = "C:\\Documents and Settings\\Administrator\\桌面\\2.pdf";

//得到系统的时间戳
long start = System.currentTimeMillis();
// 写文件
rf.copyFile(path, dest);
long end = System.currentTimeMillis();
long res = end-start;
System.out.println("复制完毕,耗费时间:"+res+"ms");
}

/**
* 文件拷贝
*
* @param src:被拷贝的文件路径
* @param dest:拷贝后的文件路径
*/
public void copyFile(String src, String dest) {
try {
FileInputStream fis = new FileInputStream(src);
FileOutputStream fos = new FileOutputStream(dest);
int i = fis.read();
while (i != -1) {
// 将读取到的字节写出去
fos.write(i);
// 读取下一个字节
i = fis.read();
}
fos.flush();
fos.close();
fis.close();
} catch (Exception ef) {
ef.printStackTrace();
}
}
}

3. 原始数据读写:
源码:
public class DataText {

public static void main(String args[]) {
DataText text = new DataText();
String path = "C:\\Documents and Settings\\Administrator\\桌面\\保存";
text.saveFile(path);
text.OpenFile(path);
}
public void saveFile(String path) {
try {
java.io.FileOutputStream out = new java.io.FileOutputStream(path);
java.io.DataOutputStream outs = new java.io.DataOutputStream(out);
outs.writeByte(123);
outs.writeInt(123234545);
outs.writeChars("fefsdfsafgrwtq");
} catch (Exception ef) {
ef.printStackTrace();
}
System.out.println("保存成功");
}
public void OpenFile(String str) {
try {
java.io.FileInputStream in = new java.io.FileInputStream(str);
java.io.DataInputStream ins = new java.io.DataInputStream(in);
byte b = ins.readByte();
int c = ins.readInt();
int lenth=ins.available();
} catch (Exception df) {
df.printStackTrace();
}
}
}

[b]六.线程:线程有几种创建方式?线程在程序中有几种状态?[/b]1.线程的创建方式:[u]第一种方式:[/u]通过继承Thread类创建
[u]第二种方式:[/u]通过实现Runnable接口创建
使用第二种方式创建的好处:多个线程共享同一份资源;可以避免由于java单继承性带来的局限性。
[u]2. 线程在程序中的状态:线程有四种状态,任何一个线程肯定处于这四种状态中的一种:[/u]
[b]1) 产生(New):[/b]线程对象已经产生,但尚未被启动,所以无法执行。如通过new产生了一个线程对象后没对它调用start()函数之前。
[b]2) 可执行(Runnable):[/b]每个支持多线程的系统都有一个排程器,排程器会从线程池中选择一个线程并启动它。当一个线程处于可执行状态时,表示它可能正处于线程池中等待排排程器启动它;也可能它已正在执行。如执行了一个线程对象的start()方法后,线程就处于可执行状态,但显而易见的是此时线程不一定正在执行中。
[b]3) 死亡(Dead):[/b]当一个线程正常结束,它便处于死亡状态。如一个线程的run()函数执行完毕后线程就进入死亡状态。
[b]4) 停滞(Blocked):[/b]当一个线程处于停滞状态时,系统排程器就会忽略它,不对它进行排程。当处于停滞状态的线程重新回到可执行状态时,它有可能重新执行。如通过对一个线程调用wait()函数后,线程就进入停滞状态,只有当两次对该线程调用notify或notifyAll后它才能两次回到可执行状态。3. class Object下常用的线程函数
wait()、notify()和notifyAll()这三个函数由java.lang.Object类提供,用于协调多个线程对共享数据的存取。
[b]3.1 wait()、notify()和notifyAll()[/b]1) wait()函数有两种形式:第一种形式接受一个毫秒值,用于在指定时间长度内暂停线程,使线程进入停滞状态。第二种形式为不带参数,代表waite()在notify()或notifyAll()之前会持续停滞。
2) 当对一个对象执行notify()时,会从线程等待池中移走该任意一个线程,并把它放到锁标志等待池中;当对一个对象执行notifyAll()时,会从线程等待池中移走所有该对象的所有线程,并把它们放到锁标志等待池中。
3) 当调用wait()后,线程会释放掉它所占有的“锁标志”,从而使线程所在对象中的其它synchronized数据可被别的线程使用。
[b]七.static用法与注意事项,==和equals的区别?[/b]1. static用法与注意事项:
static 可以修饰方法,也可以修饰属性
静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法声明为static的方法有以下几条限制:它们仅能调用其他的static 方法。它们只能访问static数据。它们不能以任何方式引用this 或super。 “类名.方法名”,静态方法的使用很简单如上所示。
静态变量 声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。静态变量与静态方法类似。所有此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间.
2. ==和equals的区别
==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true
equals()方法的默认实现与==运算符相同,都是比较对象在内存中的地址是否相同。例如: Test test1=new Test(); Test test2=new Test(); Test test3=test1; System.out.println(test1.equals(test2)); System.out.println(test3.equals(test1)); System.out.println(test1==test2); System.out.println(test1==test3); 输出为false,true,false,true。
[b]十、自己的学习到的经验,碰到典型的难题及如何解决。[/b]经过几个月对Java的学习,我学会了如何使用Java语言来编写一些小项目,也学会了如果解决在编写程序中出现的问题,自己的动手能力有所提升了,学会了独立思考。在编写程序时最常见的经典难题有,空指针异常,还有就是参数的传递,这两个问题是最纠结的,也是每个写程序的人一定遇到的。我刚开始遇到这个问题时,真的不知道怎么解决,只能请教别人,后来也学会了自己解决一些简单的,我想这种东西,不能一遇到不懂得就去问别人,要先自己思考解决的方法,实在不懂时才去请教别人,这样自己才能有所提升。
直线电机驱动技术原理与应用解析 直线电机作为直接电能-直线运动转换装置,其核心原理基于电磁感应定律和洛伦兹力公式。通过三相交流电在定子绕组中产生行波磁场,与动子永磁体相互作用实现精准推力控制。相比传统旋转电机传动系统,直线电机具有零传动间隙、高动态响应(加速度可达10g)和微米级定位精度等技术优势,这使其成为半导体光刻机、精密数控机床等高端装备的关键驱动部件。现代直线电机驱动单元通常采用三环控制架构(电流环、速度环、位置环),配合SiC功率器件和高分辨率光栅反馈,实现纳米级运动控制。随着模块化设计和直接冷却技术的发展,直线电机正朝着更高功 阅读详情

相关推荐

从零构建:如何在VSCode中为HBuilderX迁移的UniApp项目搭建TypeScript支持环境

本文详细指导如何将HBuilderX中的UniApp项目迁移至VSCode并搭建TypeScript支持环境。通过pnpm包管理器初始化项目、配置tsconfig.json和vite.config.ts文件,实现工程化迁移与TypeScript深度集成,提升开发效率和代码质量。

book8的博客 1051

Java语言基础小结

章节小结

一人我饮酒醉 334

从Zemax到Speos:HUD设计数据无缝迁移避坑指南(含STEP文件精度验证)

本文详细介绍了从Zemax到Speos的HUD设计数据无缝迁移方法,重点解决Zernike曲面参数保真、虚拟厚度设置和坐标系对齐等核心问题。通过STEP文件精度验证和工程化解决方案,帮助工程师避免数据迁移中的常见陷阱,提升HUD系统设计效率。适用于Ansys Zemax和Ansys Speos用户,优化光学性能验证流程。

h6i7j8的博客 1064

java web入门知识小结

java web入门知识小结

学无止境!!! 179

【SigmaStar SSC335系列】空片用Flash_Tool烧写

简介 本文主要讲新拿到的PCBA,板上spi nand flash还是空的,如何在这种情况下烧录固件,这里讲解用官方Flash_Tool烧写的方式。 但只讲一些注意的地方和坑,其它的官方文档里说的比较清楚,不多说。 准备 Flash_Tool烧写软件 编译打包好烧写镜像 串口烧录小板 ----- 这个是个坑,在官方文档里并没有提及,刚开始用的平时调试的USB转串口,怎么都没反应,一度不知烧写软件不对还是硬件有问题,最后通过厂家技术支持才得知,除了专门的Flash_Tool外,还要专门的串口烧录器

老K 4700

MagicDraw小白必看:BDD图中模块的5种属性详解(含SysML v1.6最新端口配置指南)

本文面向MagicDraw初学者,详细解析SysML BDD图中模块的五种核心结构属性,包括组成部分、引用、值、约束属性及端口。重点阐述了SysML v1.6中端口设计的范式转移,对比了完整端口与代理端口的区别与应用场景,并通过实战案例指导如何利用代理端口进行清晰的接口定义与系统架构设计。

rum55的博客 374

Java 各种锁的小结

本文小结了 Java 常用的一些锁及其一些特性,掌握这些锁是掌握 Java 并发编程的基础。当然,Java 的锁并不止这些,例如 ConcurrentHashMap 的分段锁(Segment),分布式环境下所使用的分布式锁。《Java并发编程艺术》《Java并发编程实战》不可不说的Java“锁”事。

hirezy 1225

OpenWrt虚拟机磁盘扩容实战:从SquashFS到ext4的完整避坑指南

本文详细介绍了OpenWrt虚拟机磁盘扩容的完整流程,重点对比了SquashFS和ext4文件系统在扩容操作上的关键差异。通过五步安全迁移法和直接分区调整方案,帮助用户有效解决磁盘空间不足问题,同时提供高级技巧和故障排除指南,确保扩容过程顺利无坑。

weixin_29251131的博客 232

java keytool证书工具使用小结

本文转载原文地址为:java keytool证书工具使用小结

dear_Alice_moon的专栏 441

edusrc挖掘思路

edusrc挖掘思路前言思路信息搜集系统账号常见漏洞实战分享1、确定目标,语法:site:xxxx.edu.cn2、账号密码组成我们知道了,谷歌语法查找工号3、爆破登录系统4、确定功能,抓具体的url5、添加单引号,报错,是mssql6、报数据库版本,到这一步就可以交了,已经是中危了后记 前言 一月份的时候偶然注意到edusrc,起初是抱着学习的心态去挖几个洞,可是后面发现有证书,而且还贼好看,于是我动了凡心,一顿操作也拿了几本,广西民大、山东理工、同济,未到的有浙大、上海理工,证书要求证书图片可以在我个人

qq_45414878的博客 2万+

基于STM32L4XX的环境光传感器(VCNL4040M3OE)应用程序设计

• 集成模块:红外发射器(IRED)、环境光传感器(ALS)、接近传感器(PS)及信号调理IC。#define VCNL4040_I2C_ADDR (0x60 << 1) // 7位地址左移一位。// 组合成16位值。// I2C总线句柄。// 设置参数:ALS集成时间160ms,中断禁止,ALS功能开启。// 设置参数:PS工作频率80Hz,开红外二极管,PS功能开启。// 初始化I2C外设。• 输出类型:I2C总线(ALS/PS)// 2. 配置环境光传感器 (ALS) 并启动。

myron6688的博客 144

Java课堂小结*

Java课堂总结 总结: 一个java文件中可以写多个类,被public修饰的类只能由一个,类名要与文件一致,类名不能相同 java是以类为单位的 class和java源文件是不同的单独的文件,修改完源代码要重新编译 javac–java public class 类名{ public static void main(String[] args){ /* */ } } class ...

PussyCatsss的博客 429

第二大脑的觉醒:一个寄生在代码里的小生命,如何悄无声息地接管我的工作流

所有记忆都存在本地。

步子哥的博客 1064

类与对象的小结 java 1614782140

类与对象的小结 java 1614782140

pyhui的技术博客 191

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

线程小结 java

线程小结 java

pyhui的技术博客 185

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java idea 常用快捷键与小结

idea 里面常用的快捷键。前面几篇文章小结,基础小结。

Python领域优质萌新学习笔记 311

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java基础学习之IO流小结(24)

IO流小结

lyy_sss的博客 333

java--测试小结

java–测试小结 文章目录java--测试小结1.unit单元测试(junit+mockito)2.接口测试:spring中mockmvc测试接口3.代码覆盖率4.接口测试 环境 idea2018,jdk1.8 后台开发中用到的一些测试方法和工具。 demo下载:https://github.com/2010yhh/springBoot-demos/tree/master/springboo...

2010yhh 2517

Java复习小结

核心概念• 内部类:定义在另一个类内部的类,可以访问外部类的成员,包括私有成员。示例代码java// 访问外部类的私有成员核心概念• 异常:程序运行过程中出现的不正常现象,影响程序的正常执行。• 异常分类:分为编译时异常和运行时异常。编译时异常需要显式捕获或声明抛出,而运行时异常不需要。• 异常处理:通过捕获异常并进行相应处理,以保证程序的健壮性。示例代码javatry {// 可能抛出异常的代码// 处理异常的代码// 无论是否发生异常都会执行的代码。

Time_and_manman的博客 1004

Java基础小结

//字符串连接符 + 顺序不同 结果不同 ""是字符串String int a=1,b=1; System.out.println(""+a+b);//拼接 把后面转化为String再运算 System.out.println(a+b+"");//前面先运算int再加String System.out.println("================================="); //三元运算符 x?y:z //如果x==ture 结果为y 否则为z int salar =

Qxjy___的博客 169

java知识小结

qq_51756616的博客 173

Java 课程小结

在Java中,派生类不能继承其基类的构造方法。使用 super 关键字调用基类构造方法super():调用基类无参构造方法。super(参数列表):调用基类有参构造方法。

Blcx321的博客 591

Java 打包 FatJar 方法小结

在函数计算(Aliyun FC)中发布一个 Java 函数,往往需要将函数打包成一个 all-in-one 的 zip 包或者 jar 包。Java 中这种打包 all-in-one 的技术常称之为 Fatjar 技术。本文小结一下 Java 里打包 FatJar 的若干种方法。 什么是 FatJar FatJar 又称作 uber-Jar,是包含所有依赖的 Jar 包。Jar 包中嵌入了除 ...

sweetfire的博客 2560

java小结(一)

知识点核心内容重点byte类型取值范围限制(-128~127)超出范围会编译报错,如byte num1 = 1000;short类型可重新赋值num2 = 1001;变量值可动态修改,体现"变量"特性int类型默认整数类型(±21亿范围)直接输出变量名即可显示存储的值long类型需加后缀L/l必须加L/l后缀,涉及数据类型转换原理float类型需加后缀F/f必须加F/f后缀,与double区别double类型默认小数类型无需后缀,直接赋值小数char类型。

qq_59714927的博客 1041

Java 8 学习小结(转载)

Java 8 学习小结

Exceptional3的博客 242

五年Java复习小结

整理总结-5年

weixin_43999182的博客 1005
上一篇: Java 多线程的利用(弹球小游戏)
下一篇: Java窗体中如何改变鼠标光标的形状
Champion_netjava
博客等级 码龄16年 10粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值