Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

前言强化学习是一类算法, 是让计算机实现从一开始什么都不懂, 脑袋里没有一点想法, 通过不断地尝试, 从错误中学习, 最后找到规律, 学会了达到目的的方法。 那计算机通过什么来学习呢? 原来计算机也需要一位虚拟的老师, 这个老师比较吝啬, 他不会告诉你如何移动, 如何做决定, 他为你做的事只有给你的行为打分, 那我们应该以什么形式学习这些现有的资源, 或者说怎么样只从分数中学习到我应该怎样做...

用法修饰变量修饰基本类型:基本类型的值不可被改变 修饰引用:引用的指向不能被改变 被final修饰的基本类型和String类型会在编译器被放到常量池 修饰方法方法不可被覆盖 修饰类类不可被继承 原理我们反编译如下代码: 123456789public final class Tiger { private final String name ="tiget&quo...
Java

Java中有许多创建对象的方式,比如使用new关键字,使用反射,使用序列化/反序列化,使用克隆,其内部原理也都不一样,本文主要讨论在使用new关键字创建对象的前前后后JVM都做了那些事。要讲清楚这个事情,需要了解一定的JVM内存模型,以及类加载机制。 ###缘起 首先要明白,创建对象这是一个运行期的动作,在运行期前面,还有一个编译期。编译期就是将我们写的java文件编译成class文件的过程...
Java

本文主要讨论,我在考虑java种private修饰的属性和方法到底有没有被继承下来的一系列思考。 使用反射?观察class文件?new一个对象时到底发生了啥?创建一个对象常常需要经历如下几个过程:父类的类构造器() -> 子类的类构造器() -> 父类的成员变量和实例代码块 -> 父类的构造函数 -> 子类的成员变量和实例代码块 -> 子类的构造函数。 先依次执...
Java

在HashMap,HashTable和ConcurrentHashMap中,hash()方法主要是拿来做定位,即通过对key进行散列,从而确定这个entry的存储位置。但是为了避免发生碰撞,java中的hash方法还是有许多细节操作的。 HashMapjdk 7代码如下: 1234567891011121314final int hash(Object k) { in...
Java

为什么建议初始化容量真正的容量是多少为什么是2的次幂
Java

何为控制反转以前对于有依赖关系的类,比如类A依赖类B,那么使用时一般是要在A里面new个B,如果使用spring,则将控制权交给IoC容器,让IoC容器负责bean的创建以及依赖关系的调解(即依赖注入)。 何为依赖注入为一个对象获取它所依赖的对象的引用(在此之前,肯定要把这个bean注入到spring容器中)。 如何依赖注入 通过setter 通过构造方法 通过接口 何为面向切面编程

问题重现: 使用spring mvc实现一个简单的登录功能,前后端分离,使用nginx反向代理实现跨域请求 这个问题困扰了我一天多,从最开始检查nginx配置到检查表单提交再到查看http请求头再到检查后端spring相关配置以及注解的问题,最后终于找到问题。整个过程中除了415当然还蹦出了其他各种错误,如400,405,500,不过415错误一直断断续续贯穿始终。下面来复盘一下整个过程。...

不知道到大家在操作Java集合类的时候有没有遇到过ConcurrentModificationException异常,反正我是遇到过,今天就来聊一下这个异常的缘起缘灭。 fail fast上述异常都是由这个叫做fail fast的机制导致的,fail fast是Java集合类的一种异常检测机制,当多个线程并发修改一个集合类的结构时,就有可能触发上述异常。我们以ArrayList为例来探究一下...
Java

前提需要: 编译器及相关工具:gcc编译器,make工具 由于命令apt-get install gcc gcc-c++报错Couldn't find any package by regex 'gcc-c+, 所以我们可以直接装apt-get -y install build-essential 模块依赖性: pcre库(正则表达式匹配的库),zlib库(压缩用的)...