java复习

Java考试复习 java考试复习 1) 判断题、单选题、填空题看网上测试; 注意!!!(单选题答案里面的粗黑的有分号是代表同时满足;填空题答案里面的粗黑的有分号是代表其中一个就满足) 第1章 (做错的题目) 判断题 java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×) 解释: PPT解释(Java有一个系统级的线程,对内存的使用进行跟踪,该线程可以在系统空闲时对不用的内存进行回收,使程序员从繁忙的内存管理中解放出来。) JAVA虽然有垃圾回收机制,但是不能在指定的时间释放内存对象,只能在程序运 阅读详情


1.java对象内存布局及对象大小

https://blog.youkuaiyun.com/loveyour_1314/article/details/123338536

1.java对象结构=对象头+数据区+对齐空间
2.java对象头大小=32位/64位=mark workd + class pointer + arrayLength(仅仅只有数组;集合不算)
3.mark workd:存储了对象的hashcode、分带年龄、锁的信息等3大部分;
4.class pointer(元数据):元数据指针,指向某一个类
5.class pointer默认大小是64bit=8byte,jdk1.8默认压缩为4byte,如果不压缩,通过重启动参数配置(不开启指针压缩 (-XX:-UseCompressedOops))

6.new Object对象,会占用16字节内存=8字节mark word + 4字节classpointer + 4字节对齐填充
7.一个空数组int[] ,会占用16字节内存= 8 字节markword + 4 字节classpointer+4字节数组长度

2.java锁的优缺点

锁的种类优点缺点场景
偏向锁获得锁执行代码与无锁时执行的效率只存在纳秒级别的误差多线程竞争时,锁的撤销会额外消耗cpu适合一个线程的场景
轻量级锁锁竞争时不会阻塞,提高了程序性能如果始终竞争不到锁,会一直cas自选耗CPU追求响应时间;同步代码快执行很快
重量级锁竞争时无cas操作,无cpu消耗线程阻塞,响应时间慢追求吞吐量,同步代码块执行速度过长

3.volatile:可见性和有序性

可见性原理:被volateile修饰的变量 jvm会将class解析成cpu指令,并在指令前加lock;
1.变量值被修改后,会被写会系统内存
2.一个处理器缓存写回系统内存时,会导致其他处理器缓存失效。

有序性原理:
原因:jvm在不改变数据依赖性的情况下,允许编译器和处理器对指令进行重排序,会导致在cpu指令上运行的顺序是不一样的;
通过volatile的内存屏障保证 指令不会被重新排序

4.计数器实现方式?

sync,cas,cas+分段思想

syncronized:
AtomicLong:
LongAdder:
AtomicCucculator:

AtomicLong:底层就是采用unsafe进行cas自选操作对值进行变更

CAS引发ABA问题
cas引发的 ABA问题:加版本号解决或 AtomicStampedReference<>,AtomicMarkableReference ;
AtomicStampedReference原理:
底层定义了私有的静态类pair并volatile修饰保证类的可见性,该类有两个属性,一个是reference即是value值,一个是int类型的stamp对象,用于记录版本号;
AtomicStampedReference使用cas方法时实际是对pair对象进行操作;如果版本不一致pair对象是不一致的,所以++++++

AtomicMarkableReference原理: 与AtomicStampedRefrence 原理类似,只是该类的pair对象是用bool类型的mark变量来标记版本是否变更

LongAdder:只能指定初始值为0
内部结构:底层采用了long类型的base对象和一个cell数组实现
操作原理:
当没有线程竞争的情况下:unsafe对象直接对base进行cas操作
当多线程竞争的情况下:longAdder会初始化一个cell数组,对每个线程的hash值与数组长度做&(与运算)并将value存放在对于的cell中,
之后将所有cell单元格的value与base值求和得到最终值;如果cas失败,则重新获取新的下标值去更新,在多线程情况下大大减少了cas失败的概率,极大减少了cpu的损耗

LongAccumulator:原子累加器原理
1.双目运算器,用于保存累加规则
2.identity指定初始值相当于longadder的base值
原理于longadder类似;LongAdder可以理解为LongAccumulator的一个特例

unsafe类作用:
1.内存管理:包括分配内存,释放内存
2.操作类、对象、变量:通过获取当前对象和偏移量直接修改数据
3.挂起与恢复:将线程阻塞或恢复
4.cas:调用cpu的cas指令进行比较和交换
5.内存屏障:定义内存屏障,避免指令重排序

1.feign用的什么http框架;
httpUrlConnection(默认),httpclient,okHttp(最终使用)等
如果想更换http请求框架直接pom文件中指定即可


okHttp核心初衷:专注简单与高效;优点如下
1.支持http/2;http2通过多路复用在一个tcp连接上支持并发
2.如果http/2不可用,连接池复用技术也可以极大减少延迟
3.支持gzip,可以压缩下载体积
4.响应缓存可以直接避免重复请求
5.连接出现问题会自动恢复
6.如果服务配置了很多ip,其中一个失效时,会自动尝试下一个
7.处理代理问题和ssl握手失败的问题


2.hystix服务隔离策略
信号量隔离和线程池隔离?

4.redis如何实现分布式锁

5.rocket mq事务失败怎么处理
消费者消费失败 -> 进入重试队列(重试次数16次)-> 进入死信队列
死信队列的消息默认保存3天,需要人为处理
如何处理:在控制台查到死信队列的topic,在消息列表对消息进行重投,让消费者

rocket mq使用几阶段提交?
记录日志表通知开发人员处理

5.实现一个springboot的starter

实质是springboot的装配原理:核心注解@EnableAutoConfiguration

5.1 原理

@EnableAutoConfiguration主要导入了@AutoConfigurationImportSelector实现

@AutoConfigurationImportSelector的selectImports方法最终是通过SpringFactoriesLoader加载器的会去所有依赖包下找到META-INF/spring.factories文件通过全类名进行加载;
该文件里都会声明该依赖所提供的核心功能bean配置信息并进行加载,从而达到加载全部bean信息;

注意:多个暴露的服务用英文逗号隔开
在这里插入图片描述

5.2 实现自定义的starter

1.编写暴露服务的service(DemoService)
2.编写配置类的config(DemoConfig)
@Configarution注解到类上,@Bean注解创建DemoService
3.创建META-INF/spring.factories文件,并将要暴露服务的配置类配置如上图

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
  com.example.demostarter.DemoConfig,\
  com.example.demostarter.DemoeConfig

4.mvn打包编译

mvn clean install -Dmaven.test.skip=true

5.发布到mvn中央仓库
6.A服务在pom中添加starter依赖

5.3 @SpringBootConfiguration

@Configuration是spring的注解
@SpringBootConfiguration:是springboot的注解;是一个特殊的configuration类

5.3 @ComponentScan

作用:扫描当前项目中需要注册到spring容器的bean
包括@Configuration @Component @Service @ Contorller @Repostriy @RestController等

6.rocket mq事务失败怎么处理

1.初次消费失败进入retry队列(重试队列)
2.最多重试18(默认16) 次后,依然失败则进入死信队列
3.在控制台查询出死信消息的topic
4.在消息列表查询具体的死信消息
5.在控制台选择消息重发(修改死信消息权限后)
6.依然失败需要程序员处理(如果是网络问题,网络恢复后重投;如果是代码bug问题,修复代码后重投入)

死信消息的权限是2:禁读;
死信消息权限:2-禁读;4-禁写;6-可读可写

死信队列具有如下的特性;
1.死信队列是一个特殊的topic,命名方式是%DLQ%comsumerGroupId
2.一个死信队列与一个消费组一一对应,而不是消费组的实例
3.一个消费组没有产生死信消息,那么不为为其创建死信队列
4.一个死信队列,包含了所有消费组的所有死信消息,不论该消息时属于那个topic

记录日志表通知开发人员处理

7.线程池为什么要添加一个没有任务的空线程

两种可能:
1.在创建线程池时,将核心线程池数量设置为0;导致阻塞队列中有任务缺不能立刻执行
2.线程池有个属性allowCoreTimeOut,允许核心线程回收断开,默认不允许;

线程池工作原理:
1.有任务时,当未达到核心线程数时,创建核心进程执行
2.当核心线程满了时,将任务放入阻塞队列
3.阻塞队列满了时,创建最大线程数
4.最大线程数满了时,执行拒绝策略
5.当最大线程有空闲时,会存活timealive时间 会被回收
6.核心线程数可以为0,但不会被回收

默认拒绝策略4种:
1.DiscardPolicy - 直接丢弃(可以做自定义的处理方式)
2.AbortPolicy-丢弃抛出异常(默认)
3.CallerRunsPolicy-使用当前线程去执行
4.DiscardOldestPolicy - 丢弃最早的任务,尝试重新执行任务(没获取到不做处理)

8.shareding jdbc 水平分表后如何聚合查询、范围查询

采用内存归并;其他查询场景用流式归并
范围分片算法RangeShardingAlgorithm
tablename_year_month

shareding jdbc工作流程
1.sql解析
2.执行器sql优化
3.sql路由
4.sql改写
5.sql执行
6.结果归并

9.jdk 1.8新特性

1.lambda表达式
2.函数式接口:Function接口,Comsumer等
3.optional对空指针处理
4.新增日期类的:ZoneId,LocalDate,LocalTime,LocalDateTime等
5.接口运行定义默认方法和静态方法
6.方法引用和构造方法引用;使用“::”
7.Stream流式操作

10.nginx配置优化

https://blog.youkuaiyun.com/qq_57377057/article/details/126568841

1.linux的ulimit配置
1.1 先设置linux的ulimit最大文件数
1.2 设置nginx work数和work最大连接数
2.cpu的亲和配置
能使nginx的work数绑定到cpu核心数上,减少切换
3.IO事件处理模型优化
多路复用器的设置,linux配置epoll
4.work_connnetction连接数优化
默认是1024,最大是65535
5.会话的保持时间(keepalive timeout)
长连接一般60s差不多了;根据不同的情况去调试
6.GZIP压缩性能优化
7.proxy超时设置
8.proxy_set_header(代理设置头信息等)
9.高效传输模式(sendfile on)
10.expires(到期)缓存调优
11.访问限流配置
12.内核参数优化

Java教程:学会写Starter-你就懂了SpringBoot自动配置 ​ 在操作数据库的项目中,我们都会选用一些高性能的数据库连接池产品,比如DruidDataSource,官方也提供了整合的starter,比如 “druid-spring-boot-starter”。自动配置名字:c3p0-spring-boot-autoconfigurestarter名字: c3p0-spring-boot-starter提供使用c3p0的数据库连接属性(让使用者在yaml文件中对连接进行基本配置)... 阅读详情

相关推荐

Java复习线路

以下是一种Java复习线路,帮助你系统地复习Java:1. Java基础语法 2. 面向对象编程 3. 异常处理 4. 集合框架 5. IO操作 6. 多线程编程 7. 网络编程 8. 数据库操作 9. Web开发

藜笙的博客 1728

【Spring Boot】手把手教你写一个 Starter

大家在开发的过程中应该经常会看到各种各样的Starter,当我们需要集成某个功能的时候,Spring或是第三方都会提供一个Starter来帮助我们更简单的集成对应的功能到我们的项目中。基于我之前实现的一些功能来分享一下如何写一个Starter。...

黑白法师的博客 1762

大聪明教你学Java | 深入浅出聊 SpringBoot 中的 starter 机制

提到 SpringBoot 各位小伙伴肯定是不陌生了,我们几乎每天都在和它打交道,就是不知道各位小伙伴在使用 SpringBoot 的时候有没有注意过 pom.xml 中的 starter 依赖呢~ 今天大聪明就和大家深入浅出聊 SpringBoot 中的 starter 机制😊

不肯过江东丶 1004

SpringBoot自定义Starter

在没接触SpringBoot之前,比如我们要操作一个redis缓存数据库,我们搭建一个spring-mvc的maven工程,我们需要在pom文件中引用jedis,还要对jedis进行相关配置,但使用了SpringBoot只需在pom文件写入这段就可以操作redis了 <dependency> <groupId>org.springframework.bo...

mnicsm的博客 805

Data+AI新玩法:Text2SQL让数据查询变得如此简单!

你是不是也遇到过这种情况?明明手头有海量数据,却因为SQL这道“门槛”,让分析和决策变得复杂和拖沓。你可能想着:“要是我能直接用自然语言和数据库对话,那该多好!你不是一个人在这样想,Text2SQL技术正是为了帮你摆脱这一困境而诞生的。

Ase5gqe的博客 865

WRF-Chem新手避坑指南:从chem_opt到emiss_opt,那些手册里没明说的参数配置实战

本文为WRF-Chem新手提供从chem_opt到emiss_opt的参数配置实战指南,解析官方文档中未明确的常见陷阱与解决方案。通过华北重霾案例,详细讲解化学机制选择、排放源配置及特殊参数组合的注意事项,帮助用户避开常见错误,提升模拟效率。

weixin_30897079的博客 281

JAVA复习

java复习资料

qq_52401342的博客 2475

西门子S7-1200的PID应用(恒温热水器)

物料清单:1200PLC一台,模拟量输入模块SM1231(PLC自带的输入通道不支持4-20mA电流输入)一个,PT100一个,温度变送器,热得快,固态继电器。 第一步,硬件接线; 第二步,新建1200工程,添加PLC和模拟量输入模块,修改模块的模拟量输入类型为4-20mA,模拟量模块的IO地址为96-103(8个字); 第三步,新建循环组织块OB30,循环时间选择默认点1...

weixin_30835649的博客 6549

Java复习总结

java期末复习总结

Timseles的博客 1722

网格聚类 Grid Clustering/Grid-based Clustering

本文主要简单介绍了网格聚类的基本概念,优缺点,应用场景,建模时的注意事项,评价指标,实现方法,python示例和模型参数等。

JasonH2021的博客 4828

用blender为模型贴图并在gazebo中显示

用blender为模型贴图并在gazebo中显示 首先我用的是最新的blender2.92版本,附上链接https://www.blender.org/download/。并设置好简体中文。语言可以在编辑->偏好设置->界面里面设置。 首先界面右上角的摄像头,方块,灯光三个场景全都删除。 接着导入stl格式的模型文件,下面以tianbot_mini上面的激光雷达的模型为例。 导入激光雷达模型后,点击进入上方的UV Editing按钮进入UV编辑界面 此时我面看见网格化的激光雷达模型

qq_48427527的博客 8001

【Java 复习之路】三人行-Java复习

三人行-Java基础复习第四天 0. 今日目标 任务一:重点掌握HashMap的底层实现原理 区分JDK 1.8前后的不同点 掌握HashMap底层中数组索引值的算法 掌握HashMap底层如何解决哈希冲突 掌握HashMap的扩容机制 掌握put()方法源码的执行流程 任务二:了解阻塞队列 了解Queue下BlockingQueue接口的七个阻塞队列的异同点 ...

lmy 894

4D毫米波雷达

详解4D成像毫米波雷达

sangba2019的博客 2393

Java复习

自从当上组长以来,我这个组长没有尽职尽责。因为我没有手把手教组员如何学java,我深感愧疚。原因是,自从学习C++与Go之后,Java语法陌生了许多。本文就用来复习Java!

2302_80067378的博客 9243

大模型_WIN10使用hyper-v安装Ubuntu24.04虚拟机_配置独立静态IP地址_连接外网_并与内网其他机器互通_通过容器安装Dify_超详细安装过程002--人工智能工作笔记0247

本文详细描述了在Hyper-V环境中配置网络、安装Ubuntu虚拟机、设置IP地址、安装Docker以及部署Dify应用的过程。首先,通过Hyper-V管理器创建外部虚拟交换机(ExternalSwitch),并配置本机、虚拟交换机和Ubuntu虚拟机的IP地址,确保网络互通。接着,在Ubuntu虚拟机中安装Open-VM-Tools和Docker,并配置Docker的国内镜像源。最后,通过Git克隆Dify源码,使用Docker Compose启动Dify应用,完成部署。整个过程涵盖了网络配置、虚拟机管理

添柴程序猿的专栏 1752

基于Simulink的基于MPC的实时ZMP约束步态优化仿真

本文完成了基于Simulink的MPC实时ZMP约束步态优化仿真,实现了:✅ 建立3D-LIPM预测模型✅ 设计带ZMP可行域约束的MPC优化器✅ 实现闭环实时求解与扰动抑制✅ 验证强鲁棒性与安全性✅ 为人形机器人野外行走、人机交互提供先进控制方案。

xiaoheshang_123的博客 86

Java复习之路

java复习开贴!

qq_28400629的博客 224

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Java期末复习

Java语言中,变量名可以用汉字表示。(T)解析可以,但还是最好用英文,并且以驼峰命名法(第一个单词小写,其余后面的单词需要首字母大写 )我感觉这一章会涉及一部分英语题,因为这一章的判断和选择都是英文题🤔。

xiaoyushashasha的博客 880

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

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【Java】期末复习知识点总结(1)

Java期末速成~

qq_53869058的博客 3817

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

java复习计划

    一直做对日软件开发和设计工作,当然做得较多的还是设计工作。慢慢的发现自己忘了许多以前的知识点,就算是开发很多时候做的也是后台的工作,于是乎决定复习下java的web方面的知识。   现在股票已经虽然赚不了多少,但是基本上走上正轨了,外汇也基本实现了连续的小额盈利。下步就是java的复习了。   1.复习jsp和serverlet的简单知识。从零开始复习web方面的东西。   2

efg00的专栏 1228

【Java】期末复习知识点总结(3)

Java期末速成~

qq_53869058的博客 3289

复习java基础

hello java!

CXY_wuyaxin的博客 240

Java知识复习的方法和框架

当你学了很多Java知识,你该如何复习它呢?学到一定程度和阶段,你会发现Java相关的整个知识体系极为庞杂(庞大和复杂),没有一定的方式方法,复习一遍,也是一件颇为头痛的事情。

nshkfhwr的博客 460

复习Java SE

本人在看视频复习Java SE。争取9月份把Java SE看完。接下来再复习Java EE.

talenthua的博客 359
上一篇: 分布式事务-概念-实现方式
下一篇: SpringBoot AOP实现日志或告警(高级)
seeyoutlb
博客等级 码龄9年 123粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值