08 2021 档案
摘要:一、初识LinkedHashMap 上篇文章讲了HashMap。HashMap是一种非常常见、非常有用的集合,但在多线程情况下使用不当会有线程安全问题。 大多数情况下,只要不涉及线程安全问题,Map基本都可以使用HashMap,不过HashMap有一个问题,就是迭代HashMap的顺序并不是Hash
阅读全文
摘要:一、String类 想要了解一个类,最好的办法就是看这个类的实现源代码,来看一下String类的源码: public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /**
阅读全文
摘要:三、Collection接口 Collection接口是处理对象集合的根接口,其中定义了很多对元素进行操作的方法。Collection接口有两个主要的子接口List和Set,注意Map不是Collection的子接口,这个要牢记。Collection接口中的方法如下: 其中,有几个比较常用的方法,比
阅读全文
摘要://1.创建文件夹 //import java.io.*; File myFolderPath = new File(str1); try { if (!myFolderPath.exists()) { myFolderPath.mkdir(); } } catch (Exception e) {
阅读全文
摘要:LRU是Least Recently Used 的缩写,翻译过来就是“最近最少使用”,LRU缓存就是使用这种原理实现,简单的说就是缓存一定量的数据,当超过设定的阈值时就把一些过期的数据删除掉,比如我们缓存10000条数据,当数据小于10000时可以随意添加,当超过10000时就需要把新的数据添加进来
阅读全文
摘要:Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问、检测和修改它本身状态或
阅读全文
摘要:Java动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。下面我们开始动态代理
阅读全文
摘要:1. JVM相关(包括了各个版本的特性) 对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3年以上Java经验的资深开发者来说,不会JVM几乎是不可接受的。 JVM作为java运行的基础,很难相信对于JVM一点都不了解的人可以把j
阅读全文
摘要:异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。 比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.Arithmet
阅读全文
摘要:JDK和JRE 两个常见的重要概念。其实上面的图中已经划分出了JDK和JRE的范围了。我们对这张图做一个归纳,用我们的语言简单地总结一下什么是JDK和JRE: 1、JDK(Java Development Kit),是用于支持Java程序开发的最小环境,基本上Java程序设计语言、Java虚拟机、J
阅读全文
摘要:Java虚拟机1:什么是Java 前言 让我们来看一下Java的广告词,来自http://www.java.com/zh_CN/about/: 97%的企业桌面运行Java 美国有89%的桌面(或计算机)运行Java 全球有900万Java开发人员 开发人员的头号选择 排名第一的部署平台 有30亿部
阅读全文
摘要:fcin.read( buffer ); fcout.write( buffer ); 第一行将数据从输入通道 fcin 中读入缓冲区,第二行将这些数据写到输出通道 fcout 。 检查状态 下一步是检查拷贝何时完成。当没有更多的数据时,拷贝就算完成,并且可以在 read() 方法返回 -1 是判断
阅读全文
摘要:class Value { private int count = 1; private Value(int count) { this.count = count; } public static final Value v1 = new Value(1), v2 = new Value(2),
阅读全文
摘要:java泛型 什么是泛型? 泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。 可以在集合框架(Collec
阅读全文
摘要:主要内容 java.io.File类的使用 IO原理及流的分类 文件流 FileInputStream / FileOutputStream / FileReader / FileWriter 缓冲流 BufferedInputStream / BufferedOutputStream / Buff
阅读全文
摘要:enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性。 在Java中,被 enum 关键字修饰的类型就是枚举类型。形式如下: enum Color { RED, GREEN, BLUE } 如果枚举不添加任何方法,枚举值默认为从0开始的有序数值。以 Color 枚举类型举
阅读全文
摘要:1.3 激活函数 1.3.1 sigmoid 激活函数 我们通常就用其中最常用的logistic函数来代指sigmoid函数: 𝑓(𝑥)=11+𝑒−𝑥f(x)=11+e−x 特点:sigmoid函数和阶跃函数非常相似,但是解决了光滑和连续的问题,同时它还成功引入了非线性。由于其值域处在0~1
阅读全文
摘要:1.3.3 tanh函数 𝑓(𝑥)=tanh(𝑥)=21+𝑒−2𝑥−1=2sigmoid(2𝑥)−1tanh𝑥=𝑒𝑥−𝑒−𝑥𝑒𝑥+𝑒−𝑥f(x)=tanh(x)=21+e−2x−1=2sigmoid(2x)−1tanhx=ex−e−xex+e−x 这个tanh函数
阅读全文
摘要:1.1 神经网络的前向传播 我们首先定义如下图所示的神经网络,为了简单起见,所有的层都不加偏置。其中,𝑋X 表示输入层,𝑍𝑗𝑖Zij 表示第 𝑗j 个隐含层的所有神经元,𝑊𝑗Wj 表示第 𝑗j 层的权重。 因此: 𝑊1=⎡⎣⎢⎢⎢𝑤111𝑤112𝑤113𝑤121𝑤122�
阅读全文
摘要:1.2 神经网络的反向求导 在上一节中, 我们大致对神经网络的梯度更新有了了解,其中最核心的部分就是求出损失函数对权重 𝑤𝑙𝑖𝑗wijl 的导数。由于网上大多数资料都是生搬硬套,因此我们以计算 𝑊1W1 的导数为例,对整个反向求导过程进行细致的剖析。如下图所示: 其中,𝑤𝑙𝑗𝑘wj
阅读全文
摘要:程序的编译过程可以分为预处理、编译、汇编三部分,其中预处理是首先执行的过程,预处理过程扫描程序源代码,对其进行初步的转换,产生新的源代码提供给编译器。预处理过程读入源代码之后,会检查代码里包含的预处理指令,完成诸如包含其他源文件、定义宏、根据条件决定编译时是否包含某些代码的工作。下面介绍一些C/C+
阅读全文
摘要:#include <iostream> using namespace std; class Location{ public: Location(int xx = 0, int yy = 0){ X = xx; Y = yy; cout << "Constructor Object.\n"; }
阅读全文
摘要:#include <iostream> using namespace std; class Location{ public: Location(int xx = 0, int yy = 0){ X = xx; Y = yy; cout << "Constructor Object.\n"; }
阅读全文
摘要:在构造自己的类时,有可能会碰到两个类之间的相互引用问题,例如:定义了类A类B,A中使用了B定义的类型,B中也使用了A定义的类型class A{ int i; B b;} class B{ int i; A* a;} 请注意上面的定义内容,一般情况下是不能出现类A,类B相互引用都定义对象,即如下的样子
阅读全文
摘要:1. 两个类需要相互包含的情景 在观察者模式中,气象站的数据送给某些布告牌。 气象站要知道通知哪些布告牌,所以气象站类至少有一个布告牌类型的链表。 布告牌需要把自己注册到气象站类,告诉气象站类自己已经订阅消息, 注册函数需要气象站类作为形参,才知道自己注册到哪一个气象站。 也就是说,在类定义的时候,
阅读全文
摘要:1、红色箭头src目录 src下一般存放包和写的类文件 2、橙色箭头 webRoot文件夹 是存放web信息的目录,CSS、JS、图片(images、pictures)都存放在这里 3、黄色箭头 META-INF文件夹以及MANIFEST.MF文件 相当于一个信息包,目录中的文件和目录获得java平
阅读全文
摘要:Java 8 新增了接口的默认方法。 简单说,默认方法就是接口可以有实现方法,而且不需要实现类去实现其方法。 我们只需在方法名前面加个 default 关键字即可实现默认方法。 为什么要有这个特性? 首先,之前的接口是个双刃剑,好处是面向抽象而不是面向具体编程,缺陷是,当需要修改接口时候,需要修改全
阅读全文
摘要:动态规划的重要性就不多说,直接进入正题 首先,我们看一下官方定义:定义:动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子
阅读全文
摘要:java便利类,这个词偶然看到的,维基百科找不到解释。就是抽象类继承接口。 比如Collection接口,里面有很多抽象方法,而AbstractCollection实现了Collection接口。jdk中如下描述这个便利类: This class provides a skeletal implem
阅读全文
摘要:java foreach实现原理 在平时Java程序中,应用比较多的就是对Collection集合类的foreach遍历,foreach之所以能工作,是因为这些集合类都实现了Iterable接口,该接口中定义了Iterator迭代器的 产生方法,并且foreach就是通过Iterable接口在序列中
阅读全文
摘要:这个一般在内部类里面用。。类名.this表示 那个类名所代表的类的对象。。。比如class A {public void method(){A.this就是表示A的对象。。在这种情况下和this是一样的}class B {void method1() {A.this还是表示A的对象。。但是这里是在内
阅读全文
摘要:初次听老师提及《大道至简》,内心对此书稍有敬畏之感。一本能改变很多人对编程认识观念的书,一本能够让老师如此推崇的书,肯定蕴含着很多高深的道理。于是,怀着这份敬畏感,我变开始了对此书的探秘之旅。 软件工程是实践中摸索出来的方法论。每个组织的大小、行业、具体情况都不一样,更不谈人员组成、企业文化、客户的
阅读全文
摘要:maven的安装 这一步maven环境的配置,我觉得有必要安装一下,目的为了使用命令行创建maven项目,和使用命令行操作maven项目。这里不细讲,给出链接,跟安装jdk环境类似,maven的安装教程和配置 还有注意,我以下用的是maven3.0.4版本(比较低的),你们可以下载最新的版本,最好是
阅读全文