java基础巩固训练营【第一轮】(六) 面向对象的JAVA

AI协议助手:法律文本解析与智能问答技术解析 自然语言处理(NLP)技术在法律文本解析中展现出巨大潜力,通过BERT等预训练模型实现条款分类与语义理解。结合OCR与知识图谱技术,AI协议助手能快速提取合同核心条款,并以问答形式解释法律术语,显著提升商务场景的决策效率。测试数据显示,该系统对NDA协议的识别准确率达92%,响应时间仅1.2秒,特别适用于人力资源竞业协议、云服务SLA评估等场景。随着RAG架构与法律术语向量库的应用,AI+法律正推动合同审核成本下降67%,未来将在跨境合规、智能谈判等方向持续演进。 阅读详情

本章的测试代码存放在 com.j2ee110.csdn.leader.oob 包路径下面

大家的练习代码存放在 com.j2ee110.csdn.student.姓名标识.oob 包路径下面 

 

面向对象又叫OOB,当他出来的时候被认为是一项软件开发的革命,我记得我当时但是公司的大牛们整天都是OO,方式谁还在面向过程谁就已经落后了。时至今日我们依然可以在各大招聘网站的招聘要求中依旧可以看到,“属性面向对象编程”,“熟悉OO”,等词汇。但是,到底什么是对象,什么是面向对象的方法,怎么样的代码算是面向对象,其实让我将我也不能描述清楚,但是我觉得java语言的面向对象我们还是可以探讨一下的。

 

首先对于OOB的灵魂类,java做了很好也很简单的定义

 

任何java代码都必须包含在类中,而在源代码级别,一个java类的源代码总是定义的一个类(当然java可以将两个类定义一个源文件中,但是一个源文件一个类已经成了事实上的标准,关于这部分具体的内容可以参考“java基础的链接”),因此当我们开始写java代码的时候总是先创建一个类,然后在类里面编写相关的业务方法。

 

有了类,下面就是对象和对象的生命周期。java对象的定义非常简单,new 关键字,至于对象的生命周期这个是java最让人放心的地方,JVM提我们管理了,它会把不需要的对象自动删除。

 

这个时候有人会提出这样的问题,JVM怎么知道哪些对象已经不在被使用呢?这就引出了GC,俗称“垃圾收集器”,他专门负责把不要使用的对象销毁并释放出这些对象占据的空间,那GC有根据哪些参数来判断呢?(这是大家在面试的时候可能会碰到的问题,虽然我个人认为这个问题很无聊,但还是有人问)

 

如果深入的去探究这些问题可能会写一本书,还真有这么一本书《深入java虚拟机》,大家可以看看,这里我想大家推荐一篇文章,因为我觉得这篇文章将的比我好

 

原文地址 Java GC 算法总结 

 

因为原文的网站不太稳定,所以我在大本营中专贴了一篇

 

我在大本营中的转帖

 

之所以在这里提到GC的相关算法,那是为了面试准备的。

 

 

 

java面向对象的三要数

 

我知道面向对象有三大基本核心就是 继承、函数重载、和多态。说到这三点,我想已经参加过面试的朋友既爱又恨,爱的是面试的时候总是会被问到这样的问题,恨的是每当被问到这个问题总是有这样的感觉,“我知道这三个概念,但是我不知道如何描述这三个概念”,呵呵,恕我直言,我觉得“不知道如何描述就是不知道这个概念”,那么java中是如何来体现这三大概念呢,我觉得用代码来说会更加清楚一点。

 

 

首先我们先看看在java中继承是怎么实现的,其实很简单只要用到extends 这个关键字即可。代码(这些代码都是部分摘要,详细的代码请到com.j2ee110.csdn.leader.oob 包路径下面产看)

 

 

 

Code:
  1. public class Employee {   
  2.   
  3.        
  4.        
  5.     private Long     id; //员工编号   
  6.     private String   name; //员工姓名   
  7.     private Date     brithday; //出生年月   
  8.     private Double   weight; //体重   
  9.     private String   job;// 0,代表普通鱼啊弄,1,代表小组负责人,2,代表部门负责人   
  10.        
  11.        
  12.     /** 默认的构造方法 */  
  13.     public Employee(){   
  14.            
  15.            
  16.     }   
  17.         
  18.     // 其余代码可请参考com.j2ee110.csdn.leader.oob下面的同名类   
  19.   
  20. }   
  21.   
  22.   
  23. public class Teamleader extends Employee {   
  24.   
  25.     /**  
  26.      *   
  27.      */  
  28.     public Teamleader() {   
  29.            
  30.            
  31.         this.setJob("1");   
  32.            
  33.     }   
  34.   
  35.     /**  
  36.      *   
  37.      * @param id  
  38.      * @param name  
  39.      * @param brithday  
  40.      * @param weight  
  41.      * @param job  
  42.      */  
  43.     public Teamleader(Long id, String name, Date brithday, Double weight) {   
  44.         super(id, name, brithday, weight, "1");   
  45.        
  46.     }   
  47.        
  48.        
  49.        
  50.     /**  
  51.      * 在本类中重新改写了 toString()方法  
  52.      */  
  53.     public String toString() {   
  54.         return new ToStringBuilder(this).append("brithday", this.getBrithday())   
  55.                 .append("name", this.getName()).append("id", this.getId()).append("job",   
  56.                         this.getJob()).append("weight", this.getWeight()).append("title","我是组长").toString();   
  57.     }   
  58.        
  59.        
  60.        
  61.        
  62.   
  63. }   
  64.   
  65.   
  66.   
  67. public class DivisionPrincipal extends Employee {   
  68.   
  69.     /**  
  70.      *   
  71.      */  
  72.     public DivisionPrincipal() {   
  73.            
  74.         this.setJob("2");   
  75.     }   
  76.   
  77.     /**  
  78.      * @param id  
  79.      * @param name  
  80.      * @param brithday  
  81.      * @param weight  
  82.      * @param job  
  83.      */  
  84.     public DivisionPrincipal(Long id, String name, Date brithday, Double weight) {   
  85.         super(id, name, brithday, weight, "2");   
  86.     }   
  87.        
  88.        
  89.     /**  
  90.      * 在本类中重新改写了 toString()方法  
  91.      */  
  92.     public String toString() {   
  93.         return new ToStringBuilder(this).append("brithday", this.getBrithday())   
  94.                 .append("name", this.getName()).append("id", this.getId()).append("job",   
  95.                         this.getJob()).append("weight", this.getWeight()).append("title","我是部门经理").toString();   
  96.     }   
  97.        
  98.   
  99.        
  100. }   
  101.   
  102.   

 

上述代码中首先定义了一个employee类,然后定义了类teamleader,这个类继承了类 employee, 代码的形式很简单。但是如果从业务角度说,关于上面的定义在业务上的解释是这样的“所有员工具有的特性组长都用,但是组长具有一些员工不具备的特性”,在代码中我们可能会看到employee中的方法teamleader中也可以用,但是如果我们仔细研究便会发现,在“也可以用”之前需要加上两个字部分,由此引出了类中方法和变量的使用范围,其实很简单只有三个关键字,private,property,public。只要记住这三个关键字,即可。

 

我一直认为代码是说明一门编程语言特性的最好的方式,为了说明这三个关键字,我在teamleader类和DivisionPrincipal类中使用到了这三个关键字。我强烈建议大家动手试一试,大家可以创建相关的对象然后尝试调用一下。注意大家可以在本章包路径以外的路径从新声明一个类然后调用teamleader类和DivisionPrincipal类的对象,如果还不清楚赶快跟我联系。

 

 

接口和抽象类

 

类和对象的基本要素我们介绍完了,但是对于java来说还有一个比较重要但是也是比较搞人的概念,接口和抽象类。曾经无数次在面试中被问及这个概念,我的答案也是从网上看来的:“接口说明一个对象像什么,而抽象类说明一个对象是什么”。这就是我的回答,似乎每次都能混过关,但是我觉得能混过关的原因是问的人也不是很清楚他们之间的概念。

 

因为我很快也成了问这个问题的人,但是我依旧不能很好的对二者做出区别,既然我也不是很清楚,按我也就不在这里胡说误导大家乐,我建议大家看看《Thinking in java》,这本书做出了一个比较好的解释,但是许多人跟我说他看不懂。但是我还是建议大家仔细阅读阅读,要想看懂,读一遍肯定是不行的。

 

一点建议

 

 大家仔细研究一下 Employee类,可以发现这个类定义了一些 private filed ,然后又很多针对这些 filed 的get和set方法。其实这就是传说中的值对象。值得对象就是把数据用对象组织起来,我想大家以后一定会非常多的见到这类对象的。再个合理我想大家一定发现了在这个对象有个 toString() 方法,至于这个方法是做什么用的,大家可以仔细的考虑考虑,后面遇到的我们在跟大家解释。 

 

 

课后练习

今天的课后练习是:

假设我们要对产品进行描述,产品的属性有(编号,名称,数量,类型),但是产品还会分为次品和废品,次品额外的增加了(发现日期,次品原因)这个两个属性,而废品增加了(报废时间,发现日期)这两个属性。要求用创建相关的类型来确定他们之间的关系

 

我提供一些英文单词给大家参考,如果自己词汇比较丰富的可以不用,但是我强烈反对用 “aaa” “bbb”之类命名

名称英文简称
产品productproduct
废品wastrelwastrel
次品defectivedefective
检查checkcheck

 

注意这些代码必须存放在com.j2ee110.csdn.student.姓名标识.oob 包路径下面 

 

暑期java基础巩固训练营开始
java基础巩固训练营 简介
java基础巩固训练营【第一轮】(一)项目环境和规范
java基础巩固训练营【第一轮】(二)JAVA基础
java基础巩固训练营【第一轮】(三) 编写、编译、运行 
java基础巩固训练营【第一轮】(四) 利器(IDE工具)
java基础巩固训练营【第一轮】(五) 基本数据类型
java基础巩固训练营【第一轮】(六) 面向对象的JAVA
java基础巩固训练营【第一轮】(七) 数据结构中的java
java基础巩固训练营【第一轮】(八) 文件读写
java基础巩固训练营【第一轮】(九) 用java通信
java基础巩固训练营【第一轮】(十) 多线程
java基础巩固训练营【第一轮】(十一) 直面错误--java异常
java基础巩固训练营【第一轮】(十二) 我们一起来找茬
ava基础巩固训练营【第一轮】(十三) java桌面应用
java基础巩固训练营【第一轮】(十四) 大家一起做项目

 

 如果您对我的文章感兴趣的话,请点击这里加我为好友,让我们一起进步
 

http://student.youkuaiyun.com/invite.php?u=106708&c=2383a3846076c876

Linux与Windows双系统,安装完linux后无法通过grub进入Windows的解决方法 先装Windows 10,Windows可正常启动,再装Kali,Kali提示装grub后照装。然而装完后重启发现无Windows选项。 阅读详情

相关推荐

“Agent Harness”和“Harness Engineering”

摘要:2026年AI工程化领域,"Agent Harness"(AI代理运行控制系统)与"Harness Engineering"(马具工程方法论)常被混淆。前者是管理AI代理非推理事务的技术实体(工具调用、记忆管理、安全约束等7层架构),后者是设计优化该系统的工程学科。研究表明,优化的Harness设计可使同一模型性能提升10倍。两者关系如同"马具"与"制具工艺":Harness Engineering指导Agent Harn

几十年资深高级架构师,技术专家的技术笔记。专注C、Java、Python、微服务、云原生、AI工程化及高并发系统分布式架构实战,分享源码剖析、性能调优与架构治理经验。 837

关于面向对象(OOB)的一些理解。主要是封装、继承、多态。

【封装】 1.将类的属性进行私有化处理,不允许外部程序直接访问。并对外提供统一的方法,设置和读取私有属性。 2.实现访问控制,限制属性访问。 优点:只能通过规定的方法访问数据,方便在方法中加入控制语句,防止不合法赋值。 3.除了属性的封装之外,将需要重复使用的代码提取到方法中加入控制语句,防止不合法赋值。 public class Demo01_Test { private String pers...

weixin_30547797的博客 600

联想ThinkServer SR588 重装raid5阵列信息(装完centos7后,找不到硬盘)

这里写自定义目录标题找不到硬盘选择光盘启动 找不到硬盘 装完centos7之后,提示重启,重启之后,就一直无法启动。 进入bios 看了,确实是有设置硬盘为第一启动选项。 选择光盘启动 本地标准硬盘也是找不到。 1、 重启进入bios在系统手设置里找到存储信息, 然后找到如图选项回车进入。 选择主目录进入。 进入Configuration Management 里面 先清除原来的设置信息 选择已启用在yes 提示清除成功。 返回上一目录选择,选择 Create Virtual Drive 再选择S

熠铭心时空的博客 2万+

OO(object oriented面向对象)

面向对象OO = 面向对象的分析OOA + 面向对象的设计OOD + 面向对象的编程OOP 一、OO - Object-Oriented(面向对象) 对象代表真实或抽象的事物,有一个名字(唯一标识),有明确的职责(well-defined responsibilities),展示良好的行为(well-defined behavior),接口清晰,并且尽可能简单、自相容,内聚,...

weixin_33851177的博客 410

SAP FI 提示没有为会计年度0 定义版本2025 GP626

SAP 错误 GP626 是一个常见的系统消息,通常表示某个会计年度的版本(如版本 0)未被定义或未激活。:在执行某些事务(如创建采购订单、过账凭证或维护成本中心)时,系统会检查相关版本是否已定义。的“Settings for Each Fiscal Year”界面中,选择一个已激活的会计年度。的“Settings for Each Fiscal Year”界面中,找到未激活的会计年度。:在控制范围(Controlling Area)中,未为指定的会计年度定义版本 0。如果没有,添加或复制现有年度的设置。

GAVIN 2489

基于PCIe的NVMe协议在FPGA中实现方法

NVMe协议是工作在PCIE的最上层协议层的,故需要先搞清楚PCIE。本文基于Xilinx的UltraScale+,开发工具为Vivado2021.2。NVMe的学习仍以spec为主,其它资料辅助理解,有冲突时以spec为准,必要时可对比最新版本spec。(此文重点介绍学习方法及资料,有时间再加细节)。 主要参考的文章是《老男孩读PCIe》,同时参考《古猫先生》,重点学习TLP报文部分,数据链路层和物理层的内容可以先不看。再买一本书《PCI Express 体系结构导读-王齐》用来查阅做笔记。

leixj的博客 1万+

洗礼灵魂,修炼python(31)--面向对象编程(1)—面向对象,对象,类的了解...

面向对象 1.什么是面向对象 (图片来自网络) 哈哈,当然不是图中的意思。 1).面向对象(Object Oriented,OO)是软件开发方法。利用各大搜索引擎得到的解释都太官方,完全看不懂啥意思对吧?那么我的理解是这样: 在上一篇博文说到了装饰器的含义,给一个现有的程序添加新的功能,同时又不改变其结构,作为现有对象的一个包装修饰。那么其实被用于修饰的程序就是...

dingyu6453的博客 139

Android 车载开发深度解析:CarPropertyManager 核心机制与实践指南

摘要: Android Automotive OS中,CarPropertyManager作为车载信息娱乐系统的核心组件,连接应用层与车辆硬件(如车速、油量等),其架构基于分层设计(App→CarAPI→VHAL→ECU),采用发布-订阅模式实现高效数据通信。通过HIDL/AIDL跨进程交互及共享内存优化,延迟可降至2ms以下。安全机制包括分级权限控制(VISIBLE/PROTECTED/SYSTEM_RESTRICTED)和HMAC防篡改。开发时需注意监听器生命周期管理、事件合并降负载及低功耗适配。

郑伟强dev的专栏 344

python-面向对象(OOP)基本概念

面向对象基本概念 面向过程和面向对象是两种不同的编程方式 面向过程和面向对象的基本概念 (1)面向过程 把完成某一个需求的所有步骤从头到尾逐步实现 根据开发需求,将某些功能独立的代码封装成一个又一个函数 最后完成的代码,就是顺序地调用不同的函数 (2)面向对象 面向对象是更大的封装,根据职责在一个对象中封装多个方法 在完成某一个需求前,首先确定职责,----要做的事情(方法) 根据职责确定不同的对象,在对象内部封装不同的方法 最后完成的代码,就是顺序地让不同的对象调用不同的方法 特点: (1) 注重

ljsykf的博客 902

PICO640红外探测器配置模块verilog

Ulis pico 640红外探测器配置模块

Go Forward Forever! 2031

基于Lstm+transformer的刀具磨损预测实战

基于Lstm+transformer的刀具磨损预测实战

2906

java基础巩固训练营【第一轮】(六) 面向对象的JAVA 补充

当人走的太快的时候就要停下来,让灵魂能够跟上。 916

芒果YOLOv8改进165:损失函数angleLoss:即插即用 | 独家首发原创新颖|公开数据集DOTA高效无损涨点0.5% | 旋转检测

YOLOv8改进:旋转检测Loss损失函数angleLoss:即插即用 | 独家首发原创新颖|公开数据集DOTA高效无损涨点0.5%

包括YOLOv5、YOLOv7、YOLOv8等模型改进 1150

java基础巩固训练营【第一轮】((二)JAVA基础 补充

当人走的太快的时候就要停下来,让灵魂能够跟上。 993

深度学习工具包 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")

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

java基础巩固训练营【第一轮】(十三) java桌面应用 补

当人走的太快的时候就要停下来,让灵魂能够跟上。 1246

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

java基础巩固训练营【第一轮】(十二) 我们一起来找茬 补

当人走的太快的时候就要停下来,让灵魂能够跟上。 1261

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

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

java基础巩固训练营【第一轮】(十四) 大家一起做项目 补

当人走的太快的时候就要停下来,让灵魂能够跟上。 1227

java基础巩固训练营【第一轮】(八) 文件读写 补充

当人走的太快的时候就要停下来,让灵魂能够跟上。 1032

java基础巩固训练营【第一轮】(十一) 直面错误--java异常

当人走的太快的时候就要停下来,让灵魂能够跟上。 1251

java基础巩固训练营【第一轮】(一)项目环境和规范 补充

当人走的太快的时候就要停下来,让灵魂能够跟上。 896

java基础巩固训练营【第一轮】(九) 用java通信补充

当人走的太快的时候就要停下来,让灵魂能够跟上。 1056

java基础巩固训练营【第一轮】(十三) java桌面应用

当人走的太快的时候就要停下来,让灵魂能够跟上。 2361

java基础巩固训练营【第一轮】(五) 基本数据类型 补充

当人走的太快的时候就要停下来,让灵魂能够跟上。 958

java基础巩固训练营【第一轮】(十) 多线程 补充

当人走的太快的时候就要停下来,让灵魂能够跟上。 1258

java基础巩固训练营【第一轮】(七) 数据结构中的java 补充

当人走的太快的时候就要停下来,让灵魂能够跟上。 1024

java基础巩固训练营【第一轮】(一)项目环境和规范

当人走的太快的时候就要停下来,让灵魂能够跟上。 3480
上一篇: java基础巩固训练营【第一轮】(五) 基本数据类型 补充
下一篇: java基础巩固训练营【第一轮】(六) 面向对象的JAVA 补充
模事在人
博客等级 码龄17年 1546粉丝 86原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值