- 博客(26)
- 收藏
- 关注
原创 线性回归+基础优化算法
线性回归是对n维输入的加权,外加片偏差使用平方损失来衡量预测值和真实值的差异线性回归有显示解线性回归可以看作是单层神经网络梯度下降通过不断沿着反梯度方向更新参数求解小批量随机梯度下降是深度学习默认的求解算法两个重要的超参数是批量大小和学习率。
2024-09-07 10:03:33 482
原创 矩阵计算算
3.图中,y被定义为式子x1^2 + 2*x2^2,即x中有两个元素,所有y这个函数中也有两个函数,求导之后的行向量也有两个元素,分别是y对xi的导数。y和x都是列向量,一个一个取y中的元素,则yi对整个列向量x求导就是一个行向量,那么整个整个y中的元素对x求导,就是很多个行向量组成的矩阵。4.最后一个,注意u和v是向量,向量对向量求导是矩阵,u的转置是行向量,行向量乘矩阵依旧是行向量,所以最后结果是行向量。1.y = x时,y和x都是列向量,所以求导出来是一个主对角线为1,其余为0的矩阵。
2024-07-24 20:58:24 307
原创 redis短信登陆
我们将用户保存在session中,将来就要基于session进行校验,session基于cookie,每一个session都有一个sessionID保存在浏览器cookie中,当用户访问时,携带浏览器的cookie,而cookie中有sessionID,从而获得sessionID,从而从session中获取用户,如果session中是否存在该用户,将用户信息缓存起来,因为后续的业务可能会用到用户的信息。本项目不采用微服务的方式,是一个单体的项目,因为核心是学习redis的用法,但是采用前后端分离的模式。
2024-05-09 20:51:06 859
原创 redis缓存击穿
此处我们不是用传统意义上的 syncronized锁,而是使用redis的命令setnx,创建一个lock,别的线程再创建lock时就会失败,知道获得锁的进程释放锁,即del lock。为了应对意外情况导致获得锁的进程一直不释放锁,我们还要设置一个ttl时间。的key突然失效了 ,无效的请求访问会在瞬间给数据库带来巨大的冲击。也叫做热点key问题,就是一个被。1.线程需要等待,性能受到影响。可能是正在做活动的key,并访问的平率非常高。1.没有额外的内存消耗。2.可能有死锁的风险。2.有额外的内存消耗。
2024-04-25 15:08:38 206
原创 redis缓存穿透
2.可能造成短期的不一致:用户请求了一个id,此时id不存在,返回了null,那么就在此时,我们更新了id的内容,就会造成对应的id有数据,但是返回的确实null,只能等ttl结束以后才能查到有效数据。客户端请求, redis中没有,请求数据库,数据库中也没有,那么设置一个null值在redis中,下次请求的时候,直接在redis中命中得到null值返回。用户请求之后,先查询布隆过滤器,如果没有,直接拒绝,如有则放行,之后的逻辑与之前的一模一样。1.额外的内存消耗:设置一个短的ttl,定时消失。
2024-04-25 11:09:32 222 1
原创 入门之面向对象
访问属性:对象名.成员变量访问行为:对象名.方法名(...)每一款软件都会占用一块内存,java也不例外,JVM将占用的内存分为五个部分,如下图所示JDK7以前,JVM将内存分为五个部分,堆和方法区是连在一起的,在真实的物理空间中也是一片连续的空间。JDK8以后,取消方法区,新增元空间,把原来方法区的多种功能进行拆分,有的功能放到了堆中,有的功能放到了元空间中。此时,加载字节码文件的功能属于元空间了。为了方便理解加载字节码文件后代码如何运行,暂且还是把元空间叫做方法区。
2024-04-24 16:13:23 840
原创 入门之方法
方法是程序中最小的执行单元public sstatic void 方法名(){方法体(就是打包起来的代码)public sstatic void 方法名(参数1,参数2,......){方法体(就是打包起来的代码)public static 返回值类型 方法名 (参数){方法体;return 返回值;
2024-04-22 13:45:33 353 1
原创 生成验证码
在一堆没有规律的数据中随机抽取,可以先把这些数据放到数组当中,在随机抽取一个索引。ASCII码中a对应数字97,A对应数字65。2.前四位是大写字母或者小写字母。
2024-04-20 19:48:08 210
原创 idea快捷键
2.Fn + alt + insert : 标准javabea。14.Ctrl + Shift + 向上:往上挪一行。9.选中 Ctrl + Alt + M:构造方法。1.alt + 回车 :构造方法,或者自动改错。3.ctrl + alt + L : 代码对齐。6.Ctrl + Shift + U:变大写。7.Ctrl + Alt + M:生成方法。13.Ctrl + D :向下复制一行。12.alt + 鼠标 :整列编辑。9.Ctrl + B :查看源码。4.Ctrl + / : 注释。
2024-04-19 19:18:35 597
原创 Redis的Java客户端2
SpringDataRedis中提供了RedisTemplate工具类,其中封装了各种对Redis的操作。SpringData是Spring中数据操作的模块,包含对各种数据库的集成,其中对Redis的集成模块就叫做SpringDataRedis。注意此处@Autowired报错,写为@Resource即可,说明springboot知识还不够。SpringDataRedis快速入门。3.注入RedisTemplate。
2024-04-16 10:16:40 290
原创 Redis的Java客户端
本套课程先学习Jedis,为Spring Data Redis打基础, Spring Data Redis支持Jedis和Lettuce。Jedis本身是线程不安全的,并且频繁的创建和销毁连接会有性能损耗,因此我们推荐大家使用Jedis连接池代替Jedis的直连方式。3.使用Jedis,方法名与Redis命令一致。2.创建Jedis对象,建立连接。
2024-04-15 17:00:58 218 2
原创 NOSQL基本命令
Redis的SortedSe是一个可排序的set集合,与java中的TreeSet有些类似,但底层数据结构却差别很大。So rtedSet中的每一个元素都带有一个score属性,可以基于score属性对元素进行排序,底层的实现是一个调标加hash表。hash类型,也叫散列,其value是一个无序字典。redis中的List类型与java中的LinikList类似,可以看作是一个双向链表结构。不管是哪种格式,底层都是字节数组形式存储,只不过是编码方式不同,字符串类型的最大空间不能超过512m。
2024-04-14 20:06:00 1008 1
原创 入门之运算符
byte short char 三种类型的数据在运算的时候,都会直接提升为int。//底层为 s = (short)(s + 1);3.斗地主,模1发牌给第一个玩家,模2发牌给第二个玩家...:+=,-=,*=,/=,%=底层都隐藏了一个强制类型转换。每个字符通过查找ASCII码表,获得对应的数字,然后输出。数字进行运算时,数据类型不一样不能运算,需要。1.当“+”操作中出现字符串时,这个“+”是。,要么是true,要么十false。运算中,如果有小数,可能结果不正确。整数参与运算,得到的结果只能为整数。
2024-01-21 17:37:15 334
原创 java入门-记事本写java
在文件夹中,点击路径,输入cmd,回车,直接显示该文件目录的终端。.再用java运行(运行,JDK提供的java为。.打开cmd,进入java文件所在文件夹。.先javac生成class文件(1.创建文件,后缀名为.java。字节码文件,操作系统运行时使用。avac为编译工具,
2024-01-18 16:51:24 359
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人