- 博客(54)
- 资源 (13)
- 收藏
- 关注

原创 MySQL隔离级别详解
一、数据库事务的ACID原理原子性(atomicity):整个事务中的所有操作,要么全部完成,要么全部不完成。一致性(consistency):事务在执行之前和执行之后,数据库都必须处于一致性状态。隔离性(isolation):并发的事务是互相隔离的,一个事务的执行不能被其它事务干扰,不同的事务并发操作相同的数据时,每个事务都有各自完整的数据空间。持久性(durability):事...
2019-04-10 16:20:08
496

原创 Java 实现 BP 神经网络完成 Iris 数据分类
继了解了 BP 神经网络的原理后,笔者之前用 Java 实现三层的 BP 神经网络完成 Iris 鸢尾花数据集的分类预测,特此记录了实现过程,附源码。1. Iris 鸢尾花数据集Iris 也称鸢尾花卉数据集,是一类多重变量分析的数据集,来自 UCI 机器学习库,下载地址请戳这里。通过 sepal length(花萼长度),sepal width (花萼宽度),petal length ...
2017-06-07 12:33:26
10379
5

原创 BP 神经网络算法原理
本篇文章主要根据《神经网络与机器学习》和《人工神经网络原理》两本书,对 BP 神经网络的数学推导过程做了一个总结,为自己进入深度学习打下一个基础。
2017-04-11 21:31:55
87329
11

原创 Win10下用Anaconda安装TensorFlow
笔者之前在学习TensorFlow,也在自己的笔记本上完成了安装,在PyCharm中进行学习。但是最近为了使用python的科学计算环境,我把之前的环境卸载了,并用Anaconda重新安装了TensorFlow,由于自己的笔记本已经很旧了,显卡不行,所以这里介绍一下cpu版本的安装方法和自己遇到的一些坑,截图甚多。
2017-03-20 17:00:43
323692
140
原创 跳槽心路历程
随着在公司呆的日子越来越久,个人对当前的工作内容越发感觉无趣,薪资在行业竞争力不足,自己也看不到升职空间,因此心生去意,开启自己的面试准备。
2021-11-30 11:09:25
5659
2
原创 PIL + pytesseract 玩转验证码图片识别
有时候我们在模拟登陆的时候会遇到图片验证码,如果是简单的数字字母验证码,可以通过图片识别的方法识别验证码,再发送post请求模拟登陆。验证码图片的爬取可以通过找到某验证码的url,通过python的requests模块get图片资源,这里不做过多介绍。我们在本地尝试完成验证码图片的识别。本地已经安装Anaconda3,使用Python3。其下均在Anaconda环境进行操作。1.安装PIL模块和pytesseract模块PIL是python的一个图像处理标准库,pytesseract是免费的ocr识
2021-07-16 16:49:10
830
1
原创 凤凰架构思维导图
最近在项目开发中遇到微服务数据一致性的问题,有幸了解到周志明老师的《凤凰架构-构建可靠的大型分布式系统》这本书,补充了自己在分布式以及架构方面的一些知识欠缺,顺便整理了思维导图,方便自己后期回顾。书中对计算机基础、操作系统、计算机网络、数据库等均有涉及,自己在阅读的时候对遗忘的知识点也进行了巩固。同时周志明老师在书中对于架构的演进、分布式基础和容器相关的介绍和见解都让人获益匪浅。
2021-07-16 16:24:12
2219
2
原创 ThreadLocal理解
ThreadLocal,通常叫做线程本地变量或线程本地存储,是用于维持线程封闭性的一种规范方法,这个类能使线程中的某个值与保存值的对象关联起来。ThreadLocal提供了get与set等访问接口或方法,这些方法为每个使用该变量的线程都存有一份独立的副本,因此get总是返回由当前执行线程在调用时设置的新值。ThreadLocal对象通常用于防止对可变的单实例变量或全局变量进行共享。例如,在单线程应用程序中可能会维持一个全局的数据库连接,并在程序启动时初始化这个连接对象,从而避免在调用每个方法时都要传递一个
2021-02-09 17:34:45
455
1
原创 ServiceLoader原理
简单介绍ServiceLoader是jdk6里面引进的一个特性。它用来实现SPI,一种服务发现机制。SPI的全名为Service Provider Interface,主要是应用于厂商自定义组件或插件中。Java SPI机制的思想:我们系统里抽象的各个模块,往往有很多不同的实现方案,比如日志模块、jdbc模块等方案。面向的对象的设计里,我们一般推荐模块之间基于接口编程,模块之间不对实现类进行硬编码。一旦代码里涉及具体的实现类,就违反了可拔插的原则,如果需要替换一种实现,就需要修改代码。为了实现在模块装配的
2021-02-08 12:14:52
9326
5
原创 JDBC原理
JDBC,即Java数据库连接,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC制定了统一访问各类关系数据库的标准接口,为各个数据库厂商提供了标准接口的实现。JDBC操作数据库的步骤1.加载数据库驱动;2.建立数据库连接;3.创建数据库操作对象;4.定义操作的SQL语句并执行;5.获取并操作结果集;6.关闭资源:关闭顺序是结果集–>数据库操作对象–>连接。JDBC API类图在Java1.6之前我们加载注册数据
2021-02-07 19:55:56
696
原创 Spring同一个类中方法调用注解失效
在项目开发中进行事务管理的时候,遇到给类的方法加了@Transactional,同一个类进行调用不生效的问题。原因分析通常在使用Spring Aop注解的时候,如@Transactional, @Cacheable等注解一般需要在类方法第一个入口的地方加才会生效。这是由于这些注解基于Spring AOP代理实现的,所以不支持内部调用的。举个简单例子:@RestControllerpublic class TestController { @Autowired private Tes
2021-02-07 19:39:26
2791
原创 Java静态内部类单例模式读取Properties配置文件
Properties props = AIPropertiesUtil.getInstance().getAiProps();package com.cmb.lp.rsaidata.util.busi;import java.io.IOException;import java.io.InputStream;import java.util.Properties;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public clas
2021-02-06 11:03:05
1424
原创 Java的Class.getClassLoader().getResourceAsStream()与Class.getResourceAsStream()理解
两者都可以实现从classPath路径读取指定资源的输入流。为什么是classPath而不是src,这是因为web项目运行时,IDE编译器会把src下的一些资源文件移至WEB-INF/classes,classes目录就是classPath目录。该目录放的一般是web项目运行时的class文件、资源文件(xml,properties等)。Class.getClassLoader().getResourceAsStream()Class是当前类的Class对象,Class.getClassLoader(
2021-02-06 10:30:28
14180
4
原创 Java线程模型
内容摘抄总结自《深入理解Java虚拟机(第二版)》和菜鸟教程:线程的五种状态线程的实现线程是比进程更轻量级的调度执行单元,线程的引入可以把一个进程的资源分配和调度分开,各个线程既可以共享进程资源(内存地址、文件I/O等),又可以独立调度(线程是CPU调度的基本单位)。Java语言提供了在不同硬件和操作系统平台下对线程操作的统一处理,每个已经执行start()且还未结束的java.lang.Thread类的实例代表一个线程。Thread类的所有方法均声明为Native,意味着这些方法没有使用或无法使用平
2021-02-05 13:28:59
689
1
原创 计算机网络学习笔记
以下内容主要来自于《网络是怎样连接的》、《计算机网络自顶向下方法》、猿人谷:面试官,不要再问我三次握手和四次挥手等网络博文,在此记录一下学习笔记。一、网络分层体系结构计算机网络设计者以分层方式组织协议以及实现这些协议的网络硬件。每一层会向它的上一层提供服务。各层的所有协议被称为协议栈。因特网的协议栈由5个层次组成:物理层、数据链路层、网络层、运输层、应用层。应用层运输层网络层数据链路层物理层应用层:网络应用程序及他们的应用层协议存留的地方。运输层:在应用程
2021-02-05 12:59:17
530
1
原创 操作系统原理学习笔记
以下内容与截图均来自《操作系统——精髓与设计原理(第八版)》,在此记录一下学习笔记。一、进程进程进程定义一个正在执行的程序;一个正在计算机上执行的程序实例;能分配给处理器并由处理器执行的实体;由一组执行的指令、一个当前状态和一组相关的系统资源表征的活动单元。进程基本元素:程序代码和与代码关联的数据集。进程控制块标识符状态优先级程序计数器内存指针上下文数据I/O状态信息记账信息…进程五状态模型新建态:刚刚创建的
2021-02-05 11:15:49
1953
原创 ElasticSearch Terms Aggregation 聚合
ElasticSearch(后续简称为ES)提供了对数据的统计分析服务。在之前的开发中使用Terms Aggregation 对数据进行聚合统计,遇到了一些问题,查阅了ES的官方文档Terms Aggregation的Size用法。博文内容参考或引用自ElasticSearch 7.6 官方文档一、聚合基本概念ES 聚合的两个主要概念:桶(Buckets):满足特定条件的文档的集合指标(Metrics):对桶内的文档进行统计计算每个聚合都是一个或者多个桶和另个或者多个指标的组合,用粗略的SQ
2021-02-03 21:14:10
3747
原创 基于价值累积平或物件数量累积平的一种分配算法思路
背景之前做项目的时候遇到一个需求:假设有不同金额(价值)的物件,需要以下面两种方式分配到人。优先金额平,其次数量平分配到人优先数量平,其次金额平分配到人针对上述需求,在基于大量数据金额随机分布的特征情况下,采用贪心思想的思路进行了实现。前置条件1.具有大量数据,金额随机分布2.需要分配的物件列表TmT_mTm3.要分配的人列表PnP_nPn实现思路1.优先金额平,其次数量平2.优先数量平,其次金额平...
2021-02-01 22:27:58
304
原创 基于 Spring + Mybatis 实现简单的 ElasticSearch 查询客户端
背景在实际的 Java 项目开发中,比如 Spting Boot 应用,我们可能需要操作来自 ElasticSearch(后文简称 ES) 的数据,比如查询聚合等。同时,我们想要能够自定义DSL语句,满足复杂的查询需求。在目前的 ES Java 客户端 API 中 RestHighLevelClient 可以很好的实现,但是代码较为繁琐,而且不能满足动态DSL\color{red}{动态DSL}...
2020-03-06 16:54:53
5833
8
原创 Windows运行可视化工具tensorboard
tensorboard是TensorFlow的可视化工具,可以将神经网络模型结构与训练过程的数据保存到自定义的路径与日志文件中,然后在web端可视化展现。这里简单记录一下tensorboard的运行方法。1.代码生成可视化文件简单测试代码生成文件放在D:\logs中,包含训练以及测试的文件夹。2. 采用Anaconda安装的TensorFlow,打开Anaconda Prompt,也可以用...
2019-05-06 11:36:10
865
原创 Java解析ES查询结果的聚合JSONObject
Java解析ES查询结果的聚合JSONObject最近在开发过程中需要用Java将从ES(ElasticSearch)查询中的聚合结果进行解析,考虑到聚合结果的JSONObject虽然会根据DSL的不同有所区别,但还是具有一定的特殊规则,因此写了一个较为公用的解析方法。一、 需要解析的DSL查询结果在这里遇到的实际业务场景是对一些客户信息进行查询,然后按照CUST_ID进行分桶,分桶后又对每...
2019-03-08 17:47:06
8486
原创 TensorFlow 实现多层 LSTM 的 MNIST 分类 + 可视化
前言循环神经网络(recurrent neural networks, RNNs)及其改进算法长短期记忆网络(Long Short-Term Memory, LSTM)能够很好地对时序数据进行建模,本文实现了两层 LSTM 对 MNIST 数据集进行分类预测以及结果可视化。
2017-12-02 15:54:53
15052
7
原创 cmd 下编译运行 C 文件
笔者最近在做项目的时候需要用 Windows 的批处理程序编译运行 C 文件,之前都是在 IDE 进行代码的编写,知道在 Linux 用 gcc 可以搞定,现在想要在 cmd 下编译运行该如何办呢,因此上网搜了一下资料,用了一个比较简单的方法搞定。
2017-06-13 13:46:22
33846
2
原创 SSM(Spring+Spring MVC+MyBatis) 框架整合
SSM(Spring+Spring MVC+MyBatis)是媲美于 ssm 框架的轻量级 Java EE 框架。在实际项目中,我们采用 SSM 框架进行开发,Spring MVC 用于 Web 层,相当于 Controller,处理请求并作出响应;MyBatis 作为持久层的框架,可以自由的控制 SQL,更加简捷地完成数据库操作;Spring 的依赖注入可以减少代码的耦合,可以装配 Bean,另外
2017-05-04 16:32:24
2587
2
原创 Spring MVC 拦截器
对于 Spring MVC 来说,拦截器的主要作用是拦截用户的请求并进行相应的处理,如权限验证等。Interceptor 拦截器拦截请求通过实现 HandlerInterceptor 接口来完成。
2017-05-04 13:41:30
567
1
原创 Spring MVC 文件上传与下载
Spring MVC 为文件上传提供了直接的支持,而文件下载又可以通过 ResponseEntity 对象简单实现。这里给出一个文件上传与下载的简单例子。
2017-05-04 12:06:27
2576
2
原创 Spring MVC 数据校验
数据校验是 Web 应用必须处理的内容,Spring MVC 提供了两种方法来对用户的输入数据进行校验,一种是 Spring 自带的 Validation 校验框架,另一种是利用 JRS-303 验证框架进行验证。Hibernate-Validator 实现了 JSR-303 验证框架支持注解风格的验证。
2017-05-04 11:19:54
4258
1
原创 Spring MVC 数据绑定
数据绑定是将用户输入绑定到领域模型的一种特性。Spring MVC 会根据请求方法不同,将请求消息绑定到处理方法的参数中。
2017-05-04 10:49:08
1075
原创 Spring MVC 常用注解
Spring 2.5 引入了一种基于注解的编程模式,注解支持 Servlet MVC 和 Portlet MVC。控制器可以不必继承特定的基类或实现特定的接口。
2017-05-04 09:52:18
699
1
原创 Spring MVC 入门
在了解了 Spring MVC 的一些基本概念后,通过查阅资料动手搭建了 Spring MVC 环境实现了一个入门程序。
2017-04-28 17:35:33
457
原创 Spring MVC 简介
Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面,是一个强大灵活的 Web 框架。Spring MVC 提供了一个 DispatcherServlet 作为前端控制器来分配请求。通过策略接口,Spring 框架是高度可配置的。
2017-04-28 16:48:40
4374
原创 MyBatis 缓存机制
MyBatis 提供了查询缓存来缓存数据,以提高查询的性能。MyBatis 的缓存分为一级缓存和二级缓存。一级缓存是 SqlSession 级别的缓存二级缓存是 mapper 级别的缓存,多个 SqlSession 共享
2017-04-28 15:52:12
14455
2
原创 MyBatis 注解
MyBatis 注解提供了一种简单的方式来实现简单映射语句,而不会引入大量的开销。但是比较复杂的 SQL 和 动态 SQL 还是建议采用映射文件。在这里使用 MyBatis 最基本的注解,完成常见的 CRUD(增删改查)SQL 语句映射。
2017-04-28 13:50:53
1157
原创 MyBatis 动态 SQL
动态 SQL 是 MyBatis 一个强大的特性,它可以帮助程序员减轻根据不同条件拼接 SQL 语句的痛苦。MyBatis 动态 SQL 元素与 JSTL 或其他类 XML 文件处理器相似。MyBatis 采用功能强大的基于 OGNL 的表达式来消除其他元素。
2017-04-14 16:01:00
479
原创 MyBatis 关联映射之多对多
紧接着上一篇 MyBatis 一对多关联映射,这里介绍 MyBatis 多对多关联关系的实现:一个学生可以选多门课,一个课也可以由多个学生选。
2017-04-14 13:08:25
27327
2
原创 MyBatis 关联映射之一对多
紧接着上一篇 MyBatis 一对多关联映射,这里介绍 MyBatis 一对多关联关系的实现:一个班级有多个学生(一对多),一个学生只属于一个班级(多对一)。
2017-04-14 12:25:20
4365
原创 MyBatis 关联映射之一对一
在客观世界中,对象很少是孤独存在的,如班级与学生之间的关系,学生与课程之间的关系,它们的实例之间可以互相访问,这就是关联关系。MyBatis 的关联映射可以大大简化持久层数据的访问,关联关系的分类如下:- 一对一- 一对多- 多对多
2017-04-14 12:07:03
12910
2
原创 MyBatis 映射文件
MyBatis 映射文件是所有 SQL 语句放置的地方,写好 SQL 语句映射文件后,需要在配置文件的 mappers 标签中引用。映射文件和与它具有相同功能的 JDBC 代码相比省掉了大部分的代码,而且对 SQL 的构建比普通方法还要好,这就是 MyBatis 的强大之处。
2017-04-12 13:56:11
1174
原创 MyBatis 配置文件
MyBatis 的持久化离不开 SqlSessionFactory 对象,这个对象是整个数据库映射关系经过编译后的内存镜像。SqlSessionFactory 能够打开 SqlSession 对象,而 SqlSessionFactory 由 SqlSessionFactoryBuilder 加载 MyBatis 的配置文件产生。
2017-04-12 13:43:31
659
原创 MyBatis 入门程序
在了解了 MyBatis 的一些基本知识后,通过查阅资料搭建 MyBatis 环境实现了对数据库数据进行增删改查操作的一个入门程序。
2017-04-12 13:27:38
553
SSM(Spring+SpringMVC+MyBatis) 框架整合
2017-05-04
Spring 系列 jar 包
2017-04-28
SSM 框架集成测试所需 jar 包
2017-04-28
mysql-jdbc
2017-04-26
MNIST手写数字数据集
2017-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人