自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 记小厂历险记0423--前端与数据库,后端数据开发

1.初入职场,不会接触Java核心编程,也没那个能力2.接触Vue+Element-ui封装进行html的双向绑定,要熟悉其中的js方法,要明白其中的@事件,要明白其中的钩子函数3.我们清楚了出现bug后,总结套路:a.判断html页面是否写错 b. themeleaf引用其他插件是否出错 c.如果都没出错,那我们看是否配置出错,就是你的sql语句是否出错(可以看控制台),sql不出错,那么肯定是数据库配置错误.4.sql这个要重点讲讲,我们通常遇到都是些简单的语句,但是开发情况下不可能有简单语句,

2021-04-23 21:49:01 197

原创 SpringMVC的初解

SpringMVC是表现层框架,用于接收从持久层,业务层到页面的数据,然后将其显示于页面上。2.SpringMVC流程:==>model: javabean view:jsp contorller:servlet(应用于前后端分离) 请求参数–>到达控制器(sevlet)–>封装进javaBean中–>与业务层进行交互–>servlet封装–>javaBean返回数据到view层中3.SpringMVC是基于java的实现mvc设计模式的请求驱动类型轻量.

2021-01-02 16:26:24 172

原创 spring的aop与事务处理API,代替之前自己写的事务处理

清楚其中事务处理的原理,而后懂API,才能不至于根基不牢,问啥啥不会使用Spring 事务管理API的步骤1、配置事务管理器2、配置事务的通知此时我们需要导入事务的约束 tx名称空间和约束,同时也需要aop的使用tx:advice标签配置事务通知属性:id:给事务通知起一个唯一标识transaction-manager:给事务通知提供一个事务管理器引用3、配置AOP中的通用切入点表达式4、建立事务通知和切入点表达式的对应关系5、配置事务的属性是在事务的通知tx:advice标签的内部

2020-12-16 18:45:54 207 1

原创 Spring AOP

在程序运行期间,不修改源码对已有方法进行增强优势:减少重复代码提高开发效率维护方便AOP实现方法:使用动态代理(1.基于接口2.基于子类)Spring AOP(基于注解)通过配置的方式来实现我们前面创建代理的代码相关术语:Joinpoint(连接点)业务层接口,看到的方法都是连接点(有事务支持)Pointcut(切入点)被增强的方法Advice(通知)Introduction(引介)总结:切面应该是通过注解实现所有事务的执行顺序以及解决重复事务的功能我们应该做的:编写核心

2020-12-14 20:35:18 121

原创 Spring AOP前置,Spring AOP解决的问题和痛点?

完善account案例分析案例中问题回顾之前讲过的一个技术:动态代理,ciglib动态代理另一种实现方式解决案例中的问题AOP的概念spring中的AOP相关术语spring中基于xml和注解的AOP配置前面五步:就是我们写代码时需要一直重复的一些问题:动态代理后面三步:我们可以将前面五步集成为一个AOP的切面平台,将业务层彻底简化。这将是我们达到的目的1.案例中将添加转账方法并演示事务问题我们需要一个处理事务整体只和数据库连接一次,回滚也可以...

2020-12-14 14:59:41 475

原创 Spring整合junit的配置

1.应用程序的入口 main方法2.junit单元测试中,没有main方法也能执行junit就会判断当前测试类中哪些方法有@Test注解junit就让有注解的方法执行3.junit不会管我们是否使用了spring框架4.当测试方法执行时,没有IOC容器,就算写@Autowried注解,也会产生空指针异常解决方法:Spring整合junit的配置1.导入Spring整合junit的jar包2.使用junit提供的一个注解把原有的main方法替换了,替换成spring提供的@Runwith

2020-12-13 16:24:15 150

原创 基于Spring的常用注解IOC以及IOC的案例

基于Spring的常用注解IOC以及IOC的案例1.SpringIOC的常用注解2.案例使用xml方式和注解方式实现单表的CRUD操作持久层技术选择:dbutils3.改造基于注解的IOC案例,使用纯注解的方式实现Spring的一些新注解xml配置与IOC注解配置:注解分为四类:1.用于创建对象的2.用于注入数据的3.用于改变作用范围的4.和生命周期相关@component注解必须用context的 component-scan base-package=“com.itheima.

2020-12-13 16:02:36 95

原创 mybatis中的一对多(多表)查询

mybatis中的一对多(多表)查询如果拿出每一个订单,他都只能属于一个用户。所以mybatis就把多对一看成一对一步骤;1.用户表和账户表:一个用户可以有多个账户一个账户只能属于一个用户2.建立两个实体类:用户实体类和账户实体类让用户和账户的实体类都能体现出一对多的关系3.建立两个配置文件用户配置文件账户配置文件4.实现配置当我们查询用户时,可以同时得到用户下所包含的账户信息当我们查询账户时,可以得到账户所属用户信息怎么说呢?学的sql语句没有卵用,还得在实际情况下面学!!

2020-12-08 21:16:52 542

原创 mybatis的连接池与事务控制

1.mybatis的连接池与事务控制(原理部分了解)连接池的使用和分析mybatis事务控制的分析2.mybatis基于xml配置的动态SQL语句使用mappers配置文件中的几个标签: <if> <whrere> <foreach>```sql<select id="findUserInIds" resultMap="userMap" parameterType="queryvo"> <include ref

2020-12-08 21:11:03 164

原创 Mybatis传递的参数类型

Mybatis传递的参数类型:1.输入类型:parameterType(1)传递简单类型,传递pojo对象,传递pojo包装对象OGNL表达式:Object Graphic Navigation Language 对象图导航语言它是通过对象的取值方法来获取数据在写法上把get给省略了比如:我们获取用户的名称。类中的写法:user.getUsername();OGNL表达式写法:user.usernamemybatis中为什么能直接写username,而不用user.呢?因为在paramet

2020-12-08 21:04:09 1172

原创 JSON小巧轻便的交换文本

jsonW3schoolJSON 是存储和交换文本信息的语法比xml更小,更方便语法:1.基本规则数据在名称/值对中:由键值对构成。*键用引号引起来,也可以不使用引号;*值的取值类型:数字(整数或浮点数)a.字符串(在双引号中)b.逻辑值(true 或 false)c.数组(在方括号中)如:{“persons”:[{},{}]}d.对象(在花括号中)如:{“address”:{“province”:“陕西”…}}e.null数据由逗号分隔:多个键值对由逗号分隔花括号保存对象:使

2020-12-01 18:23:56 102

原创 AJAX异步方法

AJAX:JSONAJAX :ASynchronous JavaScript And XML 异步的JavaScript 和 XML1.异步和同步 客户端和服务器端同步通信的基础上2.在异步的条件下,在无需加载整个网页的情况下,更新部分网页的技术提升用户的体验实现方式:JQuery实现方式1.$.ajax()<script> //定义方法 function fun(){ //使用$.ajax()发送异步请求

2020-12-01 18:12:19 149

原创 JQUERY简解

Jquery是一个优秀的js框架优化了DOM的操作,事件处理、动画设计、Ajax交互JQuery对象和JS对象区别与转换?divs.html(“bbb”)jquery与js方法不通用!!(获取的jq对象本来就是类似于数组一般的存在)转换一下:js—>jq: $(js对象) 就可以转换了jq—>js: jq对象[索引]或者jq对象.get(索引)选择器:筛选具有相似特征的元素(标签)//jquery入口函数(dom文档加载完成之后执行入口函数)KaTeX parse error

2020-12-01 18:08:42 66

原创 HTTPServlet的解释

title :HTTPServlet的解释将Servlet接口中的其他的方法做了默认空实现,只将service()方法作为抽象将来定义servlet类时,可以继承GenericServlet,实现service()方法即可HTTPServlet(有七种解决方式)不用再去判断请求方式,对http协议的一种封装复写doGet(){}方法,浏览器直接请求是get方式复写doPost(){}方法,表单请求是POST方式注解配置ServletDemo4一个Servlet可以定义多个访问路径路径.

2020-11-27 18:40:56 196

原创 JDBC快速抽取工具类

title :jdbc抽取工具类jdbc抽取工具类1.注册驱动抽取2.连接对象方法抽取3.释放资源方法抽取不想传递参数,还得保证工具类的通用性,解决:配置文件src目录下面:public class JDBCUtils{private static String url;private static String user;private static String password;private static String driver;文件的读取,只需要读取一次即可拿到这.

2020-11-27 18:33:42 150

原创 解决小伙伴们使用YOLOv3训练时的硬件问题

最近在学习YOLOv3来训练voc模型可想而知一个15年的mac或者老版本的Windows电脑难堪重负。在学完理论准备操刀开始部署训练时,才发现GPU是个大难题,而本人是个穷学生,哪有那么多钱买那么贵的显卡!!!所以我决定启用带GPU的服务器,将我的所有东西都通过云端来搞定训练。几番抉择后,选择了滴滴云服务器,因为价格!!!https://www.didiyun.com一、大家可以使用云服务器(带GPU),我顺便搞了个大师码:8996,还给打了⑨折而且最重要的是他家的时间 是按照你用的时间算

2020-11-25 17:03:21 2046

原创 解决程序员部署类似RUOYI项目时电脑内存太小的问题

我们通常都会用前后端分离部署我们的项目1.需要使用虚拟机2.内存不够用(因为每个虚拟机最少需要2G内存)3.勉强装上两个虚拟机后,电脑黑屏,风扇狂响4.最烦人的是CENTOS7安装不成功或者不会安装,查教程又是一天我仔细研究了B站CodeSheep(羊哥)前后端部署视频之后,发现它的两个虚拟机相当于另外两台不同IP的lunix电脑。只要输入IP利用xftp软件连入那台lunix主机,我不就可以进行前后端分离部署!!!会自动给你IP重点:我发现云服务器恰好解决了我的燃眉之急,解决了我囊中羞涩

2020-11-25 15:55:33 851 1

原创 模式识别课程:目标检测③基于深度学习的检测算法(续1)

title : 目标检测③基于深度学习的检测算法(续)目标检测实验报告检测所用软硬件+云服务器:硬件:macOS或者windows电脑软件:pycharm+生成的测试集云服务器:滴滴云(https://www.didiyun.com/activity.html)输入博主的大师码:8996 ,只需⑨折,便不用体验搭环境的痛苦,安心训练自己的模型相比于之前的网络架构,Yolov3有两点提升:1)残差结构神经网络训练的过程就是调整参数的过程,可以调整的参数越多,意味着调整的自由度越大,从而逼近.

2020-11-24 13:16:04 784 1

原创 模式识别课程:目标检测③基于深度学习的检测算法

title : 目标检测③基于深度学习的检测算法目标检测实验报告检测所用软硬件+云服务器:硬件:macOS或者windows电脑软件:pycharm+生成的测试集云服务器:滴滴云(https://www.didiyun.com/activity.html)输入博主的大师码:8996 ,只需⑨折,便不用体验搭环境的痛苦,安心训练自己的模型在2012年之前,在目标检测领域还是以传统手工特征的检测算法为主,但是随着卷积神经网络(CNN)在2012年的兴起,目标检测开始了在深度学习下的暴力美学。在深.

2020-11-24 12:55:33 1237

原创 模式识别课程:目标检测②传统检测算法

title : 目标检测②传统检测算法目标检测实验报告检测所用软硬件+云服务器:硬件:macOS或者windows电脑软件:pycharm+生成的测试集云服务器:滴滴云(https://www.didiyun.com/activity.html)输入博主的大师码:8996 ,可以和博主一样9折享受服务什么是传统目标检测?首先我们先来了解一下什么是目标检测?简单来说就是把存在的目标从图片中找到并识别出来。我们发现这对于我们人来说十分简单,但对于计算机而言,它是怎么做到的呢?传统目标检测方法分.

2020-11-24 10:22:21 2776

原创 模式识别课程:目标检测①创建PASCAL VOC数据集

目标检测实验报告一、研究问题目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割,它将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力。尤其是在复杂场景中,需要对多个目标进行实时处理时,目标自动提取和识别就显得特别重要。目标检测的任务是找出图像中所有感兴趣的目标,确定它们的位置和类别。图像识别有四大类任务:分类(Classification): 解决"what"。定位(Location):解决”where“。检测(Detection):解决”what & w

2020-11-23 20:31:04 844

原创 Java Docker

title : 每日深耕,勤练不缀之java Docker对于java来说,Docker毕竟是一个比较新的环境。例如,其内存、cpu等资源限制是通过CGroup实现的,早期的jdk版本并不能识别这些限制,进而会导致一些问题:如果未配置合适的JVM堆和元数据区,直接内存等参数;java有可能试图使用超过容器限制的内存,最终被容器OOM kill ,或者自身发生OOM错误的判断了可获取的CPU资源。如:Docker限制了CPU的核数,JVM就可能设置不合适的GC并行线程与虚拟机及其相似,但是也有.

2020-11-18 11:28:31 81

原创 并发包中的队列相比较

title : 每日深耕,勤练不缀之java并发包中的队列比较ConcurrentLinkedQueue基于CAS的无锁技术,有着更大的吞吐量而BlockingQueue是完全根据锁实现的。LinkedBlockingQueue不仅有着 notEmpty和notFull两种再入锁的条件变量,而且更加改进了锁操作的粒度,头尾操作用的不同的锁,比ArrayBlockingQueue吞吐量更大一点。package BingfaQueue;import java.util.concurrent.ato.

2020-11-17 15:47:21 101

原创 并发工具中安全的容器

上一章讲的是同步结构这一章讲容器ConcurrentHashMap:无序,获取元素与map放入元素都很快,常数级别。ConcurrentSkipListMap:有序,大量数据频繁修改,通过层次结构提高访问速度,空间复杂度为(O(nlogn))CopyOnWriteArrayList:动态数组。原理就是:add,set,remove,都会拷贝原数组,修改后替换原来的数组,通过这种模式,来实现线程安全package BingfaBottle;import java.util.Ar

2020-11-17 11:40:13 102

原创 java并发工具类

title : 每日深耕,勤练不缀之java并发工具类带你走进并发的世界回顾:我们在IO中讲的用线程池,只是相对于几百访问量的并发,那些只是我们练习时的Demo,我们通常所说的并发包就是java.util.concurrent及其子包,集中了Java并发的各种基础工具类:提供了比synchronized更加高级的各种同步结构,包括CountDownLatch、CyclicBarrier、Semaphore等,可以更加丰富的多线程操作。线程安全的容器 ConcurrentHashMap,无.

2020-11-16 22:00:48 88

原创 死锁如何定位,修复?及其预防?

模拟定位问题,就选取常见的jstack,可以使用jps或者系统的ps命令、任务管理器等工具,确定进程ID其次,调用jstack获取线程栈:${JAVA_HOME}\bin\jstack your_pid仔细看,有一个线程掌握的一个锁恰好是下一个线程需要的锁具体步骤是:区分线程状态—>查看等待目标—>对比monitor等持有状态所以,理解线程基本状态和并发相关元素是定位问题的关键,然后调用栈结构,可以找到问题如果我们开发自己的管理工具,遇到死锁,可以用更加程序化的方式扫描服务进程

2020-11-16 14:07:21 339

原创 ReentrantLock锁的用法,特性,注意事项

title : 每日深耕,勤练不缀之ReentrantLock锁的用法,特性,注意事项ReentrantLock是Lock的实现类,是一个互斥的同步器,在多线程高竞争条件下,ReentrantLock比synchronized有更加优异的性能表现。1 用法比较Lock使用起来比较灵活,但是必须有释放锁的配合动作Lock必须手动获取与释放锁,而synchronized不需要手动释放和开启锁Lock只适用于代码块锁,而synchronized可用于修饰方法、代码块等2 特性比较Reentran.

2020-11-16 12:29:38 1223

原创 死锁?

死锁?如何定位,修复

2020-11-15 17:24:56 103

原创 java线程两次调用start()会出现什么状况?

title : 每日深耕,勤练不缀之java线程两次调用start()会出现什么??Java的线程是不允许启动两次的,第二次调用必然会抛出illegalThreadStateException这是一种运行时异常,多次调用start被认为是编程错误在线程生命周期的不同状态,已被明确定义在公布内部类型java.lang.Thread.State,分别是:1.新建(new),表示被创建出来还没真正启动的状态,java内部状态2.就绪、(RUNNABLE)表示该线程已经在JVM中执行,可能正在运行,等.

2020-11-15 15:53:43 491

原创 java设计模式

java设计模式、创建型设计模式:工厂模式(Factory、Abstract Factory)、单例模式(Singleton)、构建器模式(Builder)、原型模式(ProtoType)结构型模式:是针对软件设计结构的总结,关注于类、对象继承、组合方式的实践经验。常见的结构型模式,包括桥接模式(Bridge)、适配器模式(Adapter)、装饰者模式(Decorator)、代理模式(Proxy)、组合模式(Composite)、外观模式(Facade)、享元模式(Flyweight)等行为型模式:是

2020-11-14 21:38:51 54

原创 接口和抽象类有什么不同?

接口和抽象类有什么不同?接口是对行为的抽象,里面1.静态方法2.抽象方法,达到成为API的目的。接口,不能实例化。不能含有任何非常量成员,任何filed都隐藏着public static final.java标准类库里,有着很多定义的接口:java.util.List抽象类是不能实例化的类,用abstract修饰,主要目的在于代码重用,没有太多意义上的行为严格规范,除了不能实例化外,与其他java类没有任何差别,可以有多个抽象方法,只是代码共同方法的抽象集合堆砌而已。比如:collection框架中

2020-11-14 13:36:26 112

原创 java拷贝文件

title : 每日深耕,勤练不缀之java拷贝文件(copy)及buffer的基础使用拷贝实现方式:1.java.io类库,为源文件构建一个FileputStream读取,为目标文件构建FileOutputStream,完成写入工作import java.io.*;public class copyFileByStream { public static void copyFileByStream(File source,File dest) throws IOException{ .

2020-11-13 20:54:27 459

原创 java提供了哪些IO方式?NIO如何实现多路复用?

title : 每日深耕,勤练不缀之java提供了哪些IO方式?NIO如何实现多路复用?可以构建高扩展性应用的能力JAVA IO 有很多种,基于不同的IO抽象模型和交互方式可以进行简单区分1.传统的java.io包(BIO),基于流模型实现,提供了我们最熟知的一些IO性能,如:File抽象,输入输出流等交互方式是同步,堵塞的方式,在读取输入流或者写入输出流时,在读、写动作完成之前,线程会一直阻塞在那里,它们之间的调用是可靠的线性顺序java.io包的好处是代码比较简单,直观,缺点是IO效率和.

2020-11-13 15:42:53 241

原创 项目比较大时,使用python ORM框架来操作MYSQL

title : 每日深耕,勤练不缀之项目比较大时,使用python ORM框架来操作MYSQL相当于持久化层从数据库的涉及层面转化为面向对象的处理方式三个ORM主流框架1.DjangoMTV框架模式2.SQLALchemy 提供了SQL工具包和ORM工具同时支持ORM和原生SQL两种方式3.peewee,轻量级的ORM框架采用了Model,Field实例和Model实例来与数据库建立映射关系,从而实现面向对象的管理...

2020-11-10 19:37:39 299

原创 python控制SQL

python的DB API的规范是什么?python程序总步骤1.引入API模块2.与数据库建立连接3.执行SQL语句4.关闭数据库连接首先安装 connector在终端写的pip install mysql-connector

2020-11-10 15:39:36 231

原创 游标

title : 每日深耕,勤练不缀之游标面向集合集合思维更像是从整体的角度来考虑然后把整个数据集不同的树形进行划分,形成不同的子集合游标 定义游标DECLARE cursor_name CURSOR FOR select_statement打开游标OPEN cursor_name从游标中获得数据FETCH cursor_name INTO var_name关闭游标CLOSE cursor_name释放游标DEALLOCATE cousor_namec实战例子我.

2020-11-09 22:27:18 119

原创 深入讲解SQL事务隔离级别

title : 每日深耕,勤练不缀之深入讲解SQL事务隔离级别因为需要并发能力所以我们不能用上一节的串行化的方式来满足并发需要降低数据库的隔离级别,来换取事务的并发能力三种异常问题脏读:事务还没提交,小李已经读到了数据不可重复读:在事务操作中间时修改记录,另一个人两次的查询结果不一样幻读:某人先查询了N条数据,正好同时某人提交了增加数据,下一次查询后产生了N+1条数据四种隔离级别可重复读:就是相当于你写入数据的时候对于输出封闭(查询时获得结果一致)需要模拟脏读,不可重复读,幻读.

2020-11-09 16:37:33 80

原创 InnoDB事务处理

InnoDB支持事务,取代MyISAM事务英文名称:transaction进行一次处理的基本单元,要么完全执行,要么都不执行保证了数据处理的完整性,保证了数据库的数据一致性高级处理数据方式允许我们回滚还原(你买了商品,小卖铺老板忘记你付过款,让你重新付,如果这时候掌握了事务的特性,就不出产生这种问题了)事务特性ACIDA:原子性C:一致性I:隔离性D:持久性...

2020-11-09 15:25:44 190

原创 SQL中存储过程

title : 每日深耕,勤练不缀之SQL存储过程SQL存储过程本次应用数据库https://github.com/cystanford/sql_heros_data.git就是面向过程的编程语句里面加入了流语句有 begin end赋值 封装 但是因为可移植性太差的原因,所以国内很少有人指出存储过程开发维护,版本迭代太困难更重要的是不符合高并发的数据库管理,高并发要减轻数据库的压力,采用分库分表的形式,而且对可扩展性要求很高。练习针对王者荣耀的英雄数据表heros表,请编写存储过.

2020-11-08 17:08:49 132

原创 SQL对视图的查询

title : 每日深耕,勤练不缀之sql子查询本文应用sql数据均从github上下载需要的小伙伴自取https://github.com/cystanford/sql_nba_data.git虚拟表,本身是不具备数据的只是为了体现安全性,封装性,以及权限性下面是一个图,很好的诠释了这个关系帮助我们使用表的一部分,另一方面也可以针对不同的用户制定不同的查询视图。视图作为一张虚拟表,帮我们封装了底层和数据表的接口。它相当于一张表或者多张表的数据结果集,编写视图后,我们可以不断重用他,这个.

2020-11-05 18:47:31 9104

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除