- 博客(52)
- 收藏
- 关注
原创 深度学习入门(二)之 简单手写数字识别实现
神经网络的输入层有784个神经元,输出层有10个神经元。784来源于图像的大小28*28,10来源于10类数,这个神经网络有2个隐藏层,第一个隐藏层有50个神经元,第二个隐藏层有100个神经元.50和100可以设置为任意值。
2023-11-01 21:36:36
282
原创 深度学习入门(二)之神经网络
在感知机中,参数的值需要我们人工去设置,神经网络的出现就是解决这一问题,具体的讲,神经网络的一个重要性质就是它**可以自动地从数据中学习到合适的权重参数**
2023-10-31 11:13:48
1086
1
原创 深度学习入门(一)之感知机
感知机是由美国学者1957年提出来,作为神经网络的起源算法。因此学习感知机的构造也就是学习通向神经网络和深度学习的一种重要思想。严格的来讲,感知机因该称为人工神经元或者朴素感知机。感知机接收多个信号输入输出一个信号。介绍一个接收两个输入信号的感知机的例子x1、x2是输入信号,y是输出信号,w1、w2是权重。图中的⭕成为“神经元输入信号被送到神经元时,乘固定的权重(w1x1、w2x2)。神经元会计算传送过来的信号的总和,只有总和超过某个界限制时,才会输出1,也成为“神经元被激活。
2023-10-17 17:00:00
438
原创 spring知识体系
Spring是一个开源框架,它由[Rod Johnson](https://baike.baidu.com/item/Rod Johnson)创建。它是为了解决企业应用开发的复杂性而创建的。 目前是JavaEE开发的灵魂框架。他可以简化JavaEE开发,可以非常方便整合其他框架,无侵入的进行功能增强。 Spring的核心就是 控制反转(IoC)和面向切面(AOP) 。 控制反转,之前对象的控制权在类手上,现在反转后到了Spring手上。导入SpringIOC相关依赖②编写配置文件在re
2022-10-18 22:43:12
1922
原创 AQS抽象同步器
AQS在java并发中的地位,相当于JVM在java中的地位,他就是抽象阻塞队列同步器,是实现同步器和锁的基石,就是base父类概述:用于实现锁和其他同步器组件的公共基础部分的抽象实现,是重量级的基础框架以及JUC体系的基石,就是一个抽象FIFO队列来完成资源获取线程的阻塞队列和一个int变量的状态来表示当前资源是否被占用Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为AQS)实现的。AQS是一种提供了
2022-06-28 21:56:26
324
原创 Java对象内存布局和对象头
创建一个object对象,,首先我们要明确知道创建对象的那一行代码的存储位置,Object相当于一个Object类的模板,类加载的时候放在方法区,存放类的信息o:在方法体中,随着方法的调用,存储在栈中栈帧信息中,new Object():创建的对象信息放在堆空间中了解到了对象的存储位置,这时我们要知道对象在堆中存放哪些信息?对象在堆内存中存储布局可以划分为三个:对象头,实例数据,填充属性对象头:包括Markword和类型指针hashcode值,自己的hash值,记录在内存中什么地方给对象可以加锁,
2022-06-25 15:17:20
331
原创 ThreadLocal
ThreadLocal提供线程局部变量,这些变量与正常的变量不一样,每一个线程访问ThreadLocal实例的时候都有自己的,独立初始化的变量副本.ThreadLocal实例通常是类中的私有静态字段.实现每一个线程都有自己专属的本地变量副本 (自己用自己的变量,不和其他线程共享),避免了线程问题.protect T initialValue() 返回此线程局部变量的当前线程的初始值,通常使用匿名内部类,不推荐使用为每个线程设置初始值withInitial()为每个线程设置初始值 推荐使用这种方式对每个线
2022-06-25 14:31:35
579
原创 HashMap
map.put(“暴躁”,小刘);获取暴躁字符串的hash值经过hash值的扰动函数,使hash值更为散列构造出node对象路由算法,计算出位置地址,找出node应存放数组的位置路由寻址公式 = (table.length - 1) & node.hash(16-1)&1122=>B0000 0000 1111& B0100 0110 0010 =>B0010 =>2table.length为啥为2的次方table.length的长度为2的次方(16,32,64等等)16-1=15的二进制为1111 32-
2022-06-20 21:22:27
314
原创 计算机网络之TCP协议相关问题
先对几个包进行概述SYN包:看是否能建立连接SYN-ACK包:如果服务器同意连接会发送SYN-ACK包ACK包:客户端收到服务器的回复会发送ACK包三次握手机制:第一次:客户端尝试与服务器端建立连接,发送SYN=1包,同时选择一个随机数seq=x作为初始序列号第二次:服务器端收到客户端的SYN包,如果同意连接,向客户端发送SYN-ACK包,确认号为ack = x+1,同时选择一个随机数seq = q作为初始序列号第三次:客户端收到服务器端的确认后,发送一个确认报文ACK = 1,完成三次握手总结:总共发送了
2022-06-11 16:46:56
671
原创 由浅到深对synchronized的理解
特别注意:①如果一个线程A调用一个实例对象的非静态 synchronized 方法,而线程B需要调用这个实例对象所属类的静态 synchronized 方法,是允许的,不会发生互斥现象,因为访问静态 synchronized 方法占用的锁是当前类的锁②尽量不要使用 synchronized(String s) ,因为JVM中,字符串常量池具有缓冲功能java对象由两部分组成:对象头和局部变量以32位虚拟机为例普通对象object Header (64 bits)mark word结构:数组对象object
2022-06-07 11:29:40
370
原创 JVM篇(五)之垃圾回收
Java 的自动内存管理主要是针对对象内存的回收和对象内存的分配。同时,Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收。Java 堆是垃圾收集器管理的主要区域,因此也被称作GC 堆(Garbage Collected Heap)....
2022-06-07 11:17:57
266
原创 JVM篇(四)之JMM内存模型
JMM定义了一套多线程读写共享数据时(成员变量,数组)时,对数据的可见性,有序性和原子性的规则和保障.两个线程对初始值为0的静态变量一个做自增,一个做自减,各做5000次,结果是0吗?以上结果可能为正数,负数,零
2022-06-02 10:37:15
411
1
原创 JVM篇(三)之内存结构
文章目录程序计数器定义作用特点虚拟机栈定义面试问题栈内存溢出线程运行诊断本地方法栈定义堆定义堆内存溢出堆内存诊断方法区定义方法区内存溢出运行时常量池StringTableStringTable位置StringTable垃圾回收StringTable性能调优JVM内存结构包括程序计数器,本地方法栈,虚拟机栈,堆,方法区,程序计数器java源代码----->编译器----->二进制字节码 .class文件---->解释器----->机器码------>cpu执行定义是线程
2022-05-30 16:39:40
537
原创 JVM篇(二)之语法糖
语法糖语法糖其实就是java编译器把*.java源码编译成 *.class字节码的过程,自动生成和转换这些代码,主要为了减轻程序员的负担默认构造器java文件当没有任何构造器时,java编译器会为我们自动生成无参构造器public class User { }编译后的class文件public class User { public User() { //这个无参构造是编译器帮助我们加上的 super();//调用父类Object的无参构造
2022-05-30 16:33:23
394
原创 JVM篇(一)之类加载器
文章目录类加载过程类什么时候加载类加载器双亲委派机制?为什么需要双亲委派模型打破双亲委派模型示例一:Tomcat类加载过程类的加载为三个阶段:加载,链接,初始化加载:由类加载器负责将硬盘中的class文件加载到内存中原来静态的数据结构转化为方法区的动态数据结构,在堆中生成class对象链接分为三个阶段:验证,准备,解析**验证:**查看class文件中的字节流是否符合虚拟机要求准备:为class对象中的静态变量分配内存,并初始化解析:将类中的逻辑引用变为内存中的直接引用初始化:初始
2022-05-25 17:13:34
207
1
原创 Linux常用命令
文章目录Linux常用命令文件操作常用命令系统常用命令解压缩命令Linux常用命令文件操作常用命令命令参数示例说明cdcd /进入根目录pwd显示当前目录的路径touchtouch demo.txt创建一个空文件mkdir创建一个新目录rmdir删除空目录rm -rfrm -rf dir1删除dir1下的所有内容rm -frm -f file1删除叫做file1的文件ll列出当前目录存在的
2022-05-21 23:51:38
228
1
原创 对redis的浅学
文章目录RedisNoSQl简介Redis概述Redis键的操作常用五大数据类型Redis字符串使用场景List(集合)使用场景Set集合hash(Map集合)数据结构zset有序集合数据结构新数据类型bitmapsHyperloglogGeoSpatial发布与订阅各数据类型使用场景总结Stringhashlistset(无序不重复)zset(有序不重复)Redis为什么这么快?Redis删除策略Redis是多线程还是单线程Redis持久化机制怎么选择持久化方式Redis事务Redis和MySQL数据一致
2022-05-21 23:04:40
1123
1
原创 自制简易版SpringIOC
文章目录自制简易版SpringIOCSpring简介无IOC存在问题案例搭建案例描述IOC控制反转概述自制简易版IOC准备工作核心代码启动自制简易版SpringIOCSpring简介spring是一个开源框架,为了解决企业应用开发的复杂性而创建.是javaEE的开发框架,核心为**IOC控制反转,DI依赖注入,AOP面向切面,**还有一个优点是非常方便整合其他框架,无侵入的进行功能增强无IOC存在问题案例搭建案例项目结构:启动类public class Demo { publi
2022-05-03 20:25:59
562
原创 回顾SpringMVC
文章目录SpringMVCMVC模式springMVC概述SpringMVC执行流程搭建项目请求映射规则@RequestMapping指定请求路径指定请求方式指定请求参数指定请求头RestFul风格获取请求参数获取路径参数获取请求体中的json参数获取QueryString格式参数相关注解其他属性类型转换器Converter内置类型转换器自定义类型转换器日期转换简便方法响应体响应数据数据放到响应体@ResponseBody请求转发和重定向SpringMVCMVC模式mvc设计模式原理图M-Mode
2022-05-03 16:11:50
217
原创 SpringSecurity的使用和流程详解(三)
文章目录核心功能(二)授权权限系统的作用授权流程授权实现自定义失败处理跨域核心功能(二)授权权限系统的作用例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信息,删除书籍信息等功能。但是如果是一个图书馆管理员的账号登录了,应该就能看到并使用添加书籍信息,删除书籍信息等功能。总结起来就是**不同的用户可以使用不同的功能**。这就是权限系统要去实现的效果。我们不能只依赖前端去判断用户的权限来选择显示哪些菜单哪些按钮。因为如果只是这样,如果有
2022-04-26 19:46:04
406
原创 SpringSecurity的使用和流程详解(二)
文章目录登录准备工作核心代码校验准备工作核心代码测试退出登录登录准备工作添加依赖 <!--redis依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId>
2022-04-26 19:45:06
2332
1
原创 SpringSecurity的使用和流程详解(一)
文章目录SpringSecurity概述快速上手搭建项目引入SpringSecurity依赖SpringSecurity流程核心功能(一)认证登录校验流程认证流程详解解决问题SpringSecurity概述SpringSecurity是Spring框架中的一个安全管理框架.相比于另一个安全框架Shiro提供了更加强大的功能.核心功能主要包括:认证:验证当前访问系统的是不是存在的用户,并且要具体判断是那个用户授权:经过认证后判断当前用户是否有权限进行某个操作攻击防护快速上手搭建项目搭建
2022-04-26 19:43:40
2391
原创 对java集合的汇总
集合知识点什么是集合集合就是一个放数据的容器,准确的说是放数据对象引用的容器集合类存放的都是对象的引用,而不是对象本身集合的类型主要有三种:list,set,map集合的特点集合用于存储对象的容器,对象是来封装数据的,对象多了也需要存储集中式管理和数组相比较,集合的长度是可变的,大小不确定集合和数组的区别集合容量是自增的,数组是固定的集合底层是高性能的数据结构和算法,提高了程序速度和质量集合方便扩展,提高代码的复用性集合存储是引用数据类型,而数组可以为基本数据类型和引用数据
2022-04-10 12:29:23
646
原创 使用对象存储OSS上传头像
对象存储OSS当开发项目时要用到文件上传,头像上传…因此要做文件服务,阿里云OSS是一个很好的分布式文件服务系统。阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存储服务。开通对象存储OSS服务申请阿里云账号进行实名认证开通对象存储服务进入管理控制台创建bucketSpringBoot集成OSS1.在pom文件引入依赖 <dependency> <groupId>com
2022-04-07 23:07:22
615
原创 用代码实现一个内存溢出
概念内存泄漏Memory Leak:是指程序在申请内存后,无法释放已经获取的内存;一次内存泄漏似乎没什么影响,但是多次堆积后会发生内存溢出内存溢出Out of Memory:是指程序在运行时获取内存,没有足够的内存供请求者请求注:在java虚拟机中,除了程序计数器,其他几个运行时区域都有可能发生内存溢出Java堆溢出java堆用于存储对象实例,只要不断地创建对象,并且保证GC避免清除这些对象,那么随着总容量到达堆的最大容量就会产生内存溢出代码实现堆溢出(提前设置好XMS和XMX) stati
2022-04-06 21:01:48
2878
1
原创 Spring集成Mybatis简单搭建
Spring集成Mybatis搭建在Spring.xml文件中开启注解模式,扫描项目下的所有包<context:component-scan base-package="com.lsy.mybatisSpring"></context:component-scan>创建db.xml文件config.properties文件下内容drivername=com.mysql.cj.jdbc.Driverurlname=jdbc:mysql://127.0.0.1:33
2021-05-20 10:39:59
151
原创 Ajax异步请求
AjaxAjax概念Ajax(Asynchronous JavaScript and XML):异步JavaScript和XML.作用使用Ajax,可以无刷新的状态更新页面,实现异步提交页面,提升用户体验.本质 利用浏览器提供的一个特殊对象(XMLHttpRequest)异步的向服务器发送请求,服务器返回数据,浏览器可以无刷新的提供返回到页面,不会打断用户操作.同步和异步区别 案例:在进行注册学生信息时,把学生的信息(学号,姓名,地址,生日…)填写完毕后准备提交
2021-05-18 13:24:06
522
原创 EL表达式和JSTL标签
EL表达式和JSTL标签为什么使用EL表达式写法比jsp简单,替代jsp页面中的复杂代码使用简单 相比较在jsp页面中嵌入java代码,EL应用更加简单<% request.setAttribute("jim","jim");%><% out.print(request.getAttribute("jim"));/*使用java代码对页面的输出*/%>${jim}<br><%--使用EL表达式对页面的输出 在jim值为null时,不进
2021-04-08 17:17:56
140
2
原创 jsp
JSPjsp概述概念:全称java server page.java服务器页,根本是一个简化的servlet设计在html文件中加入java程序片段和jsp标记,就构成了jsp网页作用主要代替servlet传输网页数据,servlet传输数据太麻烦jsp文件第一次访问jsp->java->class 第二次访问直接访问编译后的class文件jsp与servlet的联系与区别概念:jsp本质上就是一个servlet,但是二者的创建方式不一样,jsp运行时会被编译为java文件,se
2021-04-07 20:48:09
167
原创 数据结构之栈和队列
数据结构之栈和队列栈栈也是一种线性数据结构,在栈中只能从栈顶添加元素和栈顶取出元素(后进先出)栈的具体操作接口 StackT pop() 出栈操作T push(T ele) 入栈操作int getSize() 获取元素个数boolean isEmpty() 判断栈是否为空T peek() 查看栈顶元素底层操作为上次写的数组结构package com.lsy.lesson;/** * 栈的基本操作 * @param <T> */public interface
2021-02-04 12:00:06
137
4
原创 数据结构之数组篇
数组数组基础数组中的基本操作增删改查方法名的说明:构造方法**Myarrays(int capacity)**初始化数组**Myarrays()**默认大小为10的数组成员方法**getSize()**获取数组存放元素的个数**isEmpty()**判断数组是否为空**addTail(T ele)**向数组尾部添加元素**addHead(T ele)**向数组中头部添加元素**add(int index,T ele)**向数组指定位置添加元素**reSize()**数组动态扩容*
2021-02-02 17:39:50
192
3
原创 网络编程
网络编程网络编程概述计算机网络 把分布在不同地理区域的具有独立功能的计算机,通过通讯设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统.网络编程的目的直接或间接地通过网络协议与其他计算机进行通讯.网络编程的问题通过IP地址准确地定位网络上一台或多台主机找到主机后通过通讯协议进行数据传输通讯要素IP地址唯一的标识internet上的计算机本地回环地址:127.0.0.1 主机名:localhost端口号标识正在计算机上运行的进程(程序)不同的进程有不
2021-02-02 11:16:12
174
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人