- 博客(127)
- 收藏
- 关注
原创 PyTorch逻辑回归(分类问题)的代码模板
具体的代码如下,注释已经写的很详细,这里的代码是对图像一个像素一个像素地判断它是一个什么类型图像,如果你不是这种类型,那么主要模型LogisticRegression 也是不变的,输入数据修改一下即可。MNIST 数据集包含手写的数字(从0到9),也就是说这里代码判断图片是0-9。逻辑回归适用于对一件事情分类,比如分类新闻类型等等。
2023-06-18 15:10:44 250
原创 IDEA2022创建javaweb项目
在将IDEA升级为2022版本之后,我发现IDEA没有在开始界面提供javaWeb项目的创建方法,那么现在就来看一下如何创建javaweb项目:第一步,创建一个普通Java项目然后我们看到该项目是这样的:没有javaWeb的模板,那么我们右键点击该项目,选择 Add Framework Support选择如下,然后OK即可此时,我们的项目就变成了javaweb模板:然后我们点击右上角的 ADD configuration来配置tomcat:发现有问题,那么我们点击右下角的 FIX
2022-04-24 11:11:18 20365 8
原创 浅析 synchronized和volatile
文章目录缺少synchronized总结缺少 volatile总结总结我们呢都知道volatile能够防止指令重排序和做到内存可见性。然后synchronized是有原子性。但是具体一个代码能否分析出不用synchronized或者volatile的问题会出现在哪里呢?接下来我们就来做这样的事情。现在需要一个synchronized和volatile同时存在的代码,那么我们拿到单例模式的懒汉模式里的双检查加锁:public class first { private static volat
2022-04-06 19:41:17 378
原创 Java多线程学习之 AbstractQueuedSynchronizer
我们在使用多线程的同步接口的时候,比如ReentrantLock和Semaphore,我们可以发现这两之间有许多共同点,这两个类都可以用作一个 阀门,即每次只允许一定数量的线程通过,当线程到达阀门时,可以通过(在lock()和acquire()时成功返回),可以等待(在调用lock()和acquire()时阻塞),还可以取消(在tryLock()方法和tryAcquire()方法返回 ‘false’)。事实上,它们在实现时都使用了一个共同的基类 AbstractQueuedSynchronizer(AQS
2022-01-11 21:35:06 443
原创 Spring 用到的设计模式
Spring用到如下这些设计模式:工厂模式(简单工厂模式,工厂方法模式),单例模式,适配器模式,代理模式,观察者模式,模板模式简单工厂模式:工厂就是处理创建对象的细节,而简单工厂模式就是将创建对象的细节交到了其他类,简单工厂将全部的事情,都在那个类中处理完了,我们只需要从该类中取出对象即可。符合该模式的就是 Spring中的 BeanFactory接口,我们用的ApplicationContext就是它的实现类。想想我们是如何使用这个类的:ApplicationContext context =
2021-12-12 16:05:03 327
原创 Spring IOC 原理解析
文章目录IOC 概念IOC Service ProviderSpring 的 IOC Service ProviderBeanFactory直接编码方式示例:外部配置文件方式注解方式FactoryBean:BeanFactoryAware 接口IOC 概念IOC, Inversion of Control, 中文是 控制反转,还有一个别名是 dependency Injection,依赖注入。在接触IOC之前,我们需要用到什么对象,就直接在类的构造函数里面新建相应的依赖的类 。 但是,我们每次需要用到
2021-12-09 11:39:10 771
原创 从缓存击穿 看 分布式锁
文章目录缓存击穿解决方案:数据库角度缓存角度分布式锁缓存击穿在我们使用缓存时,会将从数据库里查询到的数据存到缓存中,并设置一个过期时间。就是当一个热点数据过期时,会有大量的访问到数据库中,给数据库造成很大压力,这就是缓存击穿。解决方案:那么缓存击穿的解决,我们可以从 缓存 和 数据库两方面入手。数据库角度对于数据库来说,就是短时间的大量请求无法承受,那么就让他承受的请求变成 1/100,1/1000,用 锁 可以达到这样的情况,之前 100 个,1000个请求都可以同时读,但是现在有了 锁, 一
2021-12-02 12:49:47 1054
原创 Spring Aop 的原理解析
概念:切入点(pointcut)就是你要在哪个方法上切入,这个方法就是切入点。通知(advice)就是你要在那个方法前后要执行的具体方法切面则是定义切入点和通知的组合把切面应用到目标函数的过程称为织入(weaving)。像下面这个类:public class UserService { public void addUser(){} public void modifyUser(){} public void deleteUser(){}}连接点(joinpoint
2021-11-17 20:42:52 1667
原创 SpringMVC DispatcherServlet 源码分析
已知, DispatcherServlet这个类是 spring 用于处理请求的。我们先来看看 它的 继承关系:可以发现,它是从 Servlet规范来的,还继承了 HttpServlet这个类,我们犹记得 javaweb中 我们就是继承 HttpServlet这个类,重写 doGet()和 doPost()方法来达到请求的处理的。既然如此,它的继承关系中,肯定有一个类也是重写了 doGet() 和 doPost 方法,经查,是 FrameworkServlet 这个类调用的是 proces
2021-11-14 19:19:22 481
原创 Java 锁优化
文章目录锁优化自适应自旋锁锁消除锁粗化偏向锁轻量级锁重量级锁为了能够在线程之间更高效地共享数据及解决竞争问题,从而提高程序的运行效率,JVM 提供了锁优化锁优化锁优化有以下几种:自旋锁和自适应自旋,锁消除,锁粗化, 轻量级锁,偏向锁自适应自旋锁自旋: 如果使用阻塞线程,那么就需要挂起线程和恢复线程,如果贡献数据的锁定只持续很短的一段时间,那么为了这点时间而去挂起和恢复线程并不值得。那么就可以让后面请求锁的线程"稍等一会",但不放弃处理器,这样就是让线程执行一个 忙循环(自旋),这项技术就是自旋锁
2021-11-13 16:26:18 1080
原创 java NIO的学习
文章目录三大核心:Buffer :四个属性:测试:Channel :测试Selector(仅网络编程Socket):测试Java NIO 是 Java non-blocking IO 。 从jdk 1.4开始,Java提供了一系列改进的 I/O 的新特性,被统称为 NIO,是同步非阻塞的 .NIO相关的类都被放在 java.nio包及子包下。三大核心:Channel(通道)、Buffer(缓冲区)、Selector(选择器)Buffer :四个属性:capacity: 容量,表示缓冲区中最大
2021-11-12 21:14:56 427
原创 下载 packet tracer 出现Sorry, we can‘t find a NetAcad account associated with this Cisco account.
看提示:他让我们点击 Guest Login,我们点击之后,:需要等待15秒。之后点击 Confirm Guest按钮即可进入
2021-10-22 23:38:14 4013 3
原创 idea创建 spring 项目
首先创建一个maven项目:然后导入依赖:<dependencies> <!--Spring核心基础依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>
2021-10-22 20:16:44 212
原创 Mysql学习之 不存在就insert,否则就update(或忽略)
这是一个很经典的面试题了,说的是 MySQL中不存在待插入的数据时,就将待插入的数据插入到MySQL中,如果存在待插入的数据时执行更新操作。前提这里判断是否存在是根据唯一索引来判断的,也就是说你要使用接下来所说的的语句,数据库中必须存在唯一索引insert ignore数据库中必须存在唯一索引首先来说一下,存在则忽略,那么我们可以使用 insert ignore 语句进行插入,如果存在这个记录就会忽略示例:INSERT IGNORE blog VALUES (1,'aa23');ON DU
2021-10-17 21:29:22 2938 1
原创 JVM学习之 逃逸分析 对象可不一定在堆中产生
逃逸分析:是一种确定指针动态范围的静态分析,它可以分析在程序的哪些地方可以访问到指针。原理:逃逸分析的基本原理是 : 分析对象动态作用域,当一个对象在方法里面被定义后,他可能被外部方法所引用:public class method_escape { public Object getobject(){ Object o = new Object(); return o; }}如上,这个对象可能作为返回参数传递到其他方法中,这种就称为 方法逃逸。
2021-10-16 23:11:04 153
原创 JVM学习之 类加载器ClassLoader
文章目录类的加载类加载器双亲委派模型:工作机制:类加载器使用的策略代码分析:类的加载一个类从被加载到虚拟机内存到卸载出内存,它整个的生命周期为:其中连接又分为 验证、准备和解析其中的加载过程就需要使用到类加载器加载阶段需要完成三件事情:通过一个类的全限定名来获取定义此类的二进制字节流将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构在内存中生成一个代表这个类的 java.lang.Class 对象,作为方法区这个类的各种数据的访问入口ClassLoader就来做这三件事类
2021-10-16 16:13:57 104
原创 JVM学习之 如何计算一个类的对象占用的内存
文章目录对象的内存布局对象头Mark World类型指针实例数据对齐填充实战空的String对象:本文的讨论都是基于 HotSpot 虚拟机对象的内存布局要知道一个类对象占用的内存,我们就必须要知道对象的内存布局。对象在堆内存中的存储布局可以划分为三个部分: 对象头,实例数据,对齐填充对象头对象的对象头包括两类信息。第一类是存储对象自身的运行时数据,第二类是类型指针Mark World存储对象自身的运行时数据,如 哈希码,GC分代年龄、锁状态标志、线程持有的锁等等。这部分的数据长度在32
2021-10-16 13:35:04 466
原创 Nginx 的深入学习
文章目录概念安装本文环境反向代理问题解决方案:限流limit_req_zone实战其他参数错误码 limit_req_statuslimit_conn_zone实战概念Nginx 是一个高性能的HTTP和反向代理web服务器,Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强安装因为要测试nginx的各种特性,在Linux上不太方便,所以这里直接下载Windows的nginx , 下载地址下载解压即安装完成本文环境
2021-10-14 21:58:15 416 1
原创 MYSQL 索引的学习
索引概述什么是索引?索引是数据库表中一列或多列的值进行排序的一种存储结构。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。索引是存储引擎用于快速找到记录的一种数据结构索引的作用作用和优点其实差不多。为了大大加快数据的检索速度索引的分类:个人认为这个问题意义不大普通索引:普通索引是最基本的索引,它没有任何限制,值可以为空;仅加速查询。唯一索引:唯一索引与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。主键索引:主键索
2021-10-13 13:08:09 185
原创 openfeign经常调用超时的解决办法
在配置文件配置如下信息:feign: httpclient: connection-timeout: 60000
2021-10-10 23:13:24 559
原创 异步编排 CompletableFuture 的学习
当我们有如下场景:以上要么去数据库中查询,要么就远程调用查询,所花费的时间都不一样,那么我们很容易想到使用多线程来解决该问题,但是如果有各种麻烦的顺序(比如5要在1、2后执行,6要在2、3后执行),我们这时使用多线程就会比较复杂。那么现在有个类CompletableFuture 来封装了这种复杂性:CompletableFuture对于CompletableFuture类的每一个方法,都有提供线程池和不提供线程池两种方法,如果不提供线程池就会使用它自定义的线程池。我们这里使用我们提供的线程池。
2021-10-08 20:31:50 233
原创 对于nginx动静分离的理解
nginx只是分配当前的url的去处,如果想要访问本地的静态资源,那么就配置到本地文件夹,如果要访问动态资源,就配置其他服务器的IP:PORT .所以当我们配置如下: location / { proxy_pass http://mygateway; proxy_set_header Host $host; } location /static { root html;
2021-10-04 14:32:38 88
原创 MyBatis学习之 一级缓存与二级缓存
首先创建项目,这里就不使用Spring框架了,直接用mybatis原生:文章目录准备工作一级缓存:二级缓存准备工作首先创建maven项目,引入依赖:<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId
2021-10-02 17:22:36 158
原创 equals() 和 hascode()之间的关系
如果调用Object的equals()得到的答案是 true,那么调用 hashcode()方法的值必定相等,源码说话:If two objects are equal according to the equals()method, then calling the hashCode() method on each ofthe two objects must produce the same integer result.如果根据equals()两个对象相等,然后对每个对象使用hashco
2021-09-23 19:08:47 118
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人