<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fangshyv的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fangshyv</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fangshyv]]></copyright><item><title><![CDATA[人人代码生成器使用（生成简单后端增删改查代码）]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/135775585</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/135775585</guid><author>fangshyv</author><pubDate>Tue, 23 Jan 2024 17:32:59 +0800</pubDate><description><![CDATA[下载后依赖报错不用管，直接就开始修改配置。]]></description><category></category></item><item><title><![CDATA[java面经]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/130228544</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/130228544</guid><author>fangshyv</author><pubDate>Tue, 18 Apr 2023 21:57:25 +0800</pubDate><description><![CDATA[字节码即仅面向jvm的编码，字节码文件也就是class文件。java中的编译就是把代码编译成字节码文件，再由虚拟机执行。采用字节码的好处：首先，使用字节码文件使java程序具有可移植性，也就是能够跨平台。不需要重新编译，不同的操作系统使用对应的虚拟机即可执行同一个字节码文件。其次，字节码文件使java执行速度快于python等解释性语言，虽然不如c++，但是相对来说还是比较快的。总的来说，就是使字节码使java既保留了解释性语言可移植性的特点，又获得了相对更高的速度。]]></description><category></category></item><item><title><![CDATA[数据库并发]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/129657114</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/129657114</guid><author>fangshyv</author><pubDate>Mon, 20 Mar 2023 18:21:37 +0800</pubDate><description><![CDATA[简单来讲：一个事务对某个数据进行操作，就需要上锁（就像上厕所一样，进去以后锁门）。如果你是读，就要上S锁，如果你是写，就要上X锁。前面讲的都是对某一个元素进行的处理，但是在数据库中，有不同的粒度，也有需要多继承关系，所以要考虑多粒度加锁的问题。怎么避免级联回滚：把两阶段锁协议严格化。如果有环，那就得解除死锁，选择一个代价小的事务进行回滚。简单来说，就是给一个东西加锁，对其祖先都会加上意向锁，对其子孙都会加上这个东西相同的锁。级联回滚：多个事务对同一个数据进行操作，前面的事务发生错误，那么要几个事务都回滚。]]></description><category></category></item><item><title><![CDATA[druid简单使用（数据库连接池）]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/129040918</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/129040918</guid><author>fangshyv</author><pubDate>Wed, 15 Feb 2023 12:15:10 +0800</pubDate><description><![CDATA[我们用完了close的时候，他并没有真的被关闭，而是被释放了权限，变成了free，这时候再来getcon，那会获取到刚刚释放的那个连接对象。这里注意：获取的对象是pool也就是池子里的对象，是一开始就有的，我们get是获取他，把他由free变成busy状态。druid是数据库连接池，主要作用是为了不把大量的时间浪费在创建连接上，而是可以直接获取和复用。这是比较低级的用法，更解耦合的版本，通过properties导入，见下面这个链接。直接获取连接对象，就和JDBC一样了。]]></description><category></category></item><item><title><![CDATA[对于接口编程的一些理解]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/129039297</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/129039297</guid><author>fangshyv</author><pubDate>Wed, 15 Feb 2023 11:12:34 +0800</pubDate><description><![CDATA[转回数据库，第一步传入驱动，这个管理系统应该是参数是接口，然后我们传入不同的实现类（驱动）。所以说是DriveerManage定义的操作吗，是Connect定义的操作码，都不是，具体操作都是Driver做的，他们只是获取了驱动对象以后，可以用这个驱动对象的方法了。因为众所周知，接口是不能new的，只能new他的实现类，那接口既然不能用，那他有什么作用呢？这里定义一个类，他的构造器是传递的接口对象，然后他的方法是对接口方法的调用。我现在的理解是，接口的使用是依赖于多态的，没有多态接口就毫无作用。]]></description><category></category></item><item><title><![CDATA[六天速通javaweb（后续深入学在这丰富）]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128601364</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128601364</guid><author>fangshyv</author><pubDate>Wed, 11 Jan 2023 14:57:10 +0800</pubDate><description><![CDATA[除了上面那三个方法，还有两个，但是不常用geetServletInfo：返回版权等信息的，我们一般就直接return ”“；空字符串就行getServletConfig：返回一个ServletConfig对象。什么是重定向？——浏览器访问资源A ，A处理不来要B处理。然后A给浏览器一个重定向响应（302状态码），意思是告诉你这个请求我处理不了，你去找资源B，资源B的路径也会随着重定向在响应头里返回//设置响应状态码302//设置响应头Location（value位资源B的地址）]]></description><category></category></item><item><title><![CDATA[对数器（一种测试算法的技巧）]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128596884</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128596884</guid><author>fangshyv</author><pubDate>Sat, 07 Jan 2023 23:34:16 +0800</pubDate><description><![CDATA[就是生成一个随机个数的，然后里面每个元素的大小也随机的数。再调用两个算法用这个数组进行计算，可以用copyArray来复制数组。判断两个执行结果是否完全一样，用isEqual函数判断。我们想看是否这个好的算法存在有问题，因为暴力算法一般比较好写并且不会出错。但是会超时（当然暴力也可能错）我们就用一个随机样本产生器，生成数据分别用这两个算法跑，是否结果完全一样，不一样说明其中有一个错了。当我们有两个算法，一个是暴力算法，一个是好的算法。夹在一个循环里，然后循环几千次。]]></description><category></category></item><item><title><![CDATA[javaScript入门笔记]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128591452</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128591452</guid><author>fangshyv</author><pubDate>Sat, 07 Jan 2023 19:54:18 +0800</pubDate><description><![CDATA[什么是JavaScript（js）？是一门跨平台、面向对象的脚本语言，来控制网页行为的，可以使网页可交互java和JavaScript完全不同，语法类似。]]></description><category></category></item><item><title><![CDATA[HTML速成笔记]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128589941</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128589941</guid><author>fangshyv</author><pubDate>Sat, 07 Jan 2023 15:09:11 +0800</pubDate><description><![CDATA[什么是HTML？是一门语言，可以用来写网页是一个超文本标记语言。超文本是说不止是文字信息，还可以有图片视频，标记语言是说由标签构成的语言，就像xml。html是运行在浏览器上的，会被浏览器解析标签都是预定义号的，例如：会展示图片，我们学习html，就是学习语法和标w3c标准：网页由三部分组成——结构：html，表现：css，行为：JavaScript。]]></description><category></category></item><item><title><![CDATA[MyBatis笔记]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128571228</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128571228</guid><author>fangshyv</author><pubDate>Fri, 06 Jan 2023 21:35:44 +0800</pubDate><description><![CDATA[什么是mybatis？什么是持久层？什么是框架？]]></description><category></category></item><item><title><![CDATA[Maven学习笔记]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128567740</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128567740</guid><author>fangshyv</author><pubDate>Thu, 05 Jan 2023 22:10:27 +0800</pubDate><description><![CDATA[用于专门管理和构建java项目的工具。]]></description><category></category></item><item><title><![CDATA[JDBC笔记]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128536019</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128536019</guid><author>fangshyv</author><pubDate>Thu, 05 Jan 2023 13:26:45 +0800</pubDate><description><![CDATA[面向接口编程，就是面向抽象编程。由于 每个数据库厂家是=底层原理不同，所以如果没有这个接口，程序员需要对每个数据库都写一套程序。所以sun公司定义了一个接口，用于连接数据库与Java。关系图如下：接口类似一个库文件，各个数据库厂家写java程序实现自己的数据库。也就是为jdbc接口写实现类。这些实现类要去官网下载，一个jar包。这些实现类也叫驱动。程序员也是面向这个接口编程，直接调用。]]></description><category></category></item><item><title><![CDATA[java反射笔记]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128542652</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128542652</guid><author>fangshyv</author><pubDate>Wed, 04 Jan 2023 18:50:08 +0800</pubDate><description><![CDATA[可以通过关闭访问检查的方式来优化：method、field、constructor都有setAccessible方法，他的作用是启动和禁用访问安全检查的开关，参数为true就是不检查。同时，虚拟机会保证一个类的这个方法在多线程的环境中被正确的加锁、同步，如果多个线程同时初始化一个类，那么只有一个线程去执行这个类的这个方法，其他都会阻塞，直到执行完毕。这样创建对象，那就是静态加载，如果这个类还没有被定义，编译的时候就会报错。但是在反射这里，加载类加载出来的对象编译类型就是object，怎么直接能用的方法呢？]]></description><category></category></item><item><title><![CDATA[数据库基础]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128482623</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128482623</guid><author>fangshyv</author><pubDate>Tue, 03 Jan 2023 16:34:01 +0800</pubDate><description><![CDATA[在某一个点开启事务，设置保存点，然后开始一系列dml操作，然后到某一个地方再设置保存点，然后可以再执行一系列dml操作，也可以结束事务。需求：我们一般进行多表的筛选，都要选定一个连接条件，然后连接上以后再筛选，比如，一个人名表和一个成绩表，我们需要用id作为连接条件。建立连接以后，向从表中添加的数据，必须满足有对应的外键，也就是说必须隶属于其中的某一个班才能添加成功，空也能添加成功。引入：当多个事务连接到数据库，同时操作会出现一系列问题，当一个在处理事务时，另一个看到的表的状态，要取决于他的隔离级别。]]></description><category></category></item><item><title><![CDATA[网络编程（韩顺平）]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128351577</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128351577</guid><author>fangshyv</author><pubDate>Fri, 23 Dec 2022 18:02:51 +0800</pubDate><description><![CDATA[10.UDP协议，也属于传输层，不可靠，因为不需要建立连接，也不需要三次握手，所以传得快。7.端口号：用于标识网络上特定的某个网络服务，找对应的网络服务，其实是找对应的端口（标识符）。6.域名：比ip好记，可以把ip地址映射成域名（每个域名对应唯一的ip，每个ip了可以对应多个域名）（https协议）1.网络通信：两台设备之间通过网络实现数据传输，java.net包下提供了一系列的类和接口用来实现网络通信。当建立连接以后，客户端也会有一个端口跟服务端进行通信，但是这个是TCP/IP指定的，也就是随机的。]]></description><category></category></item><item><title><![CDATA[闵帆老师《论文写作》课学习心得]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128340875</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128340875</guid><author>fangshyv</author><pubDate>Fri, 16 Dec 2022 13:55:47 +0800</pubDate><description><![CDATA[８．从审稿人的角度出发，批评这篇论文。闵老师建议写完以后先不急投，给自己一周时间写审稿意见。９．原因如下：文字不规范：单复数、时态问题、口语化、以及一系列语法问题实验不够：数据集不够、对比的算法不够新、效果不好内容不一致：就是所写与所做不一致。不够创新：创新点不够等。摘要通常包括三个部分：已有工作的评述，本文工作的描述，实验结果。总体规范可以概括为10句：11.问题及其重要性本句可以说明问题所属的领域，解释最重要的概念，或者强调问题的重要性。12.已有工作。]]></description><category></category></item><item><title><![CDATA[io流（韩顺平）]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128316057</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128316057</guid><author>fangshyv</author><pubDate>Thu, 15 Dec 2022 19:38:51 +0800</pubDate><description><![CDATA[第一：首先说一下字符，字节等概念，不然很容易乱一个字节是八个比特位（bit），一个英文占1个字节，一个汉字在utf-8里占3个字节字节是byte，字符是char字符不管编码是怎么样，一个英文是一个字符，一个汉字也是一个字符注意，不要觉得字符比字节大，因为这两个不是一个概念第二：总结一下下面内容。]]></description><category></category></item><item><title><![CDATA[韩顺平坦克大战项目0.3（发射子弹，多线程应用）]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128247501</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128247501</guid><author>fangshyv</author><pubDate>Fri, 09 Dec 2022 11:17:37 +0800</pubDate><description><![CDATA[1.首先想到，子弹应该是一个单独的线程，因为发射后就和坦克的移动无关了，自己会一直朝前走。2.子弹程序内部：（1）子弹要朝前走，所以他应该是一个循环一直改变位置的值，应该有发射方向，初始位置，发射速度这三个基本参数需要初始化。（2）子弹应该沿着初始方向一直匀速前进，直到出界才销毁，所以应该定义一个子弹位置x，y不断变化的循环。3.子弹是某个坦克的子弹，所以他可以在坦克的类中使用并创建，包装在坦克类的方法里，调用这个方法即可发射一枚子弹（线程生成）。4.很明显发射子弹需要按键触发，所以在画布的监听器里加一个触]]></description><category></category></item><item><title><![CDATA[java线程基础（韩顺平）]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128175280</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128175280</guid><author>fangshyv</author><pubDate>Wed, 07 Dec 2022 14:49:39 +0800</pubDate><description><![CDATA[1.程序指的是代码，静态
2.进程是一个程序的执行过程
3.线程是由线程创建的，是进程的一个实体，一个进程可以拥有多个线程
举例：一个迅雷的多个下载任务，一个qq的多个聊天窗口
4.并发：宏观并行，微观串行
并行：多个同时，多核cpu可以1.继承Thread类，重写run方法
2.直接绕过Thread类，实现Runnable接口，重写run方法
一个类继承Thread类（或实现Runnable接口），重写run方法，写上自己的业务代码，就成为了线程。
在主函数里，调用这个对象的start方法（相当于调run]]></description><category></category></item><item><title><![CDATA[韩顺平坦克大战项目0.2（画坦克并且移动）]]></title><link>https://blog.youkuaiyun.com/fangshyv/article/details/128166255</link><guid>https://blog.youkuaiyun.com/fangshyv/article/details/128166255</guid><author>fangshyv</author><pubDate>Sat, 03 Dec 2022 22:57:26 +0800</pubDate><description><![CDATA[简单来说，就是先要一个框，在上面加载画布
画布里有一个paint方法，相当于工作台，参数是一个画笔，在这个方法里就针对g进行绘画
对于一些封装的绘画，就放在其他方法里，在paint调用，记得参数把g传进去就好]]></description><category></category></item></channel></rss>