![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 89
不要秃顶和黑眼圈
这个作者很懒,什么都没留下…
展开
-
Netty03-进阶
三. Netty 进阶1. 粘包与半包1.1 粘包现象服务端代码public class HelloWorldServer { static final Logger log = LoggerFactory.getLogger(HelloWorldServer.class); void start() { NioEventLoopGroup boss = new NioEventLoopGroup(1); NioEventLoopGroup worke原创 2021-12-19 23:55:54 · 143 阅读 · 0 评论 -
Netty01-nio
一. NIO 基础non-blocking io 非阻塞 IO1. 三大组件1.1 Channel & Bufferchannel 有一点类似于 stream,它就是读写数据的双向通道,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据写入 channel,而之前的 stream 要么是输入,要么是输出,channel 比 stream 更为底层#mermaid-svg-Peaedb4R7RNvzQ8Q .label{font-family:'trebuche转载 2021-12-19 23:54:25 · 132 阅读 · 0 评论 -
编写脚本:后台运行java程序
1. 编写start.sh解析nohup java -Dfile.encoding=GBK -Xmx3000M -cp ./lib/PrdCommon.jar:./lib/PrjTrade.jar com.ylink.TradeServer >output.log 2>&1 &tail -f output.log说明:1)nohup代表忽略hup挂起信号,即不挂起2)java代表启动java程序的java命令3)-Dfile.encoding=GBK代表设置J转载 2021-07-13 15:36:24 · 1880 阅读 · 0 评论 -
图片上传(ftp+vue+springboot+ruoyi)
图片上传(ftp+vue+springboot+ruoyi)1. 问题分析:前端通过el-upload实现图片上传后端获取到MultipartFile类型的数据,将图片上传到ftp服务器上,然后返回上传后的相对路径,并返回给前端前端拿到返回后的相对路径(url),存入form表单,一起传给后端,保存到数据库前端通过请求得到的url,拼凑http字符串赋给src进行显示2. 后端上传工具类:文件上传到ftp服务器的工具类FtpUtilsupload上传文件到ftp服务器down原创 2021-06-11 21:37:16 · 1901 阅读 · 0 评论 -
springcloud
背景微服务# 微服务解决的四个核心问题1. 服务有很多,客户端怎么访问2. 这么多服务之间如果通信3. 这么服务如何治理4. 服务挂了怎么办# 微服务的解决方案1. Spring Cloud NetFlix 一站式解决方案 api网关 ————》 zuul组件 Fegin-----》httpClient------》http通信的方式,同步,阻塞 服务注册与发现------》Eureka 熔断机制----------》 Hystrix 2. apache Dubbo + Z原创 2020-12-23 08:47:39 · 262 阅读 · 1 评论 -
SpringMVC快速使用
感悟:总体上理解知识点,先抓住知识点的脉络,再去抠细节,效率更高SpringMVC快速入门使用注意:必须配置tomcat的deployment注解开发注意同时必须完成"/"的映射,及相当于设置了首页,不然核心控制器的url-pattern写为/的话一直报错。 @RequestMapping("/") public String index(){ return "cc"; }1.配置的方式开发SpringMVC目的:帮助理解原理1.1创建项目导入依原创 2020-12-10 20:24:23 · 114 阅读 · 0 评论 -
mysql主从复制
环境说明主从服务器最好数据库的版本都一样windows为主机,配置文件为my.inilinux 为从机 配置文件为my.cnf主机配置在my.ini中的 mysqlId进行一下配置主服务器唯一id :server-id=1启用二进制日志:log-bin=自己本地的路径/mysqlbin【可选】启用错误日志:log-err=自己本地的路径/mysqlerr【可选】read-only=0 主机读写都可以【可选】binlog-ignore-db=mysql 设置不要复.原创 2020-12-09 21:38:17 · 66 阅读 · 0 评论 -
mybatis一对多等
resultMap属性和resultType属性区别resultType :指定输出结果的类型(pojo、简单类型、hashmap…),将sql查询结果映射为java对象 。使用resultType注意:sql查询的列名要和resultType指定pojo的属性名相同,指定相同 属性方可映射成功,如果sql查询的列名要和resultType指定pojo的属性名全部不相同,list中无法创建pojo对象的。resultMap:将sql查询结果映射为java对象。如果sql查询列名和最终要映射的p原创 2020-12-09 21:36:27 · 109 阅读 · 0 评论 -
mybatis全局配置&映射文件
全局配置文件全局配置文件结构properties属性可在外部配置(db.properties),且可动态替换,亦可在子元素property中配置内部配置:外部配置settings 设置改变mybatis的运行时行为<settings> <setting name="cacheEnabled" value="true"/> <setting name="lazyLoadingEnabled" value="true"/>原创 2020-12-09 21:34:32 · 280 阅读 · 0 评论 -
jdbc&连接池&DButils&分页
jdbc基本操作jdbc操作顺序导入驱动包,或者引入依赖1.装载驱动Class.forName("com.mysql.jdbc.Driver");2.获取连接对象 connectionConnection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/zhongfucheng", "root", "1234");3.获取执原创 2020-12-08 20:23:52 · 160 阅读 · 0 评论 -
过滤器监视器应用
过滤器之编码get方式的解码无法通过request设置。需要增强request。sun公司也知道我们可能对request对象的方法不满意,于是提供了HttpServletRequestWrapper类给我们实现(如果实现HttpServletRequest接口的话,要实现太多的方法了!类似静态代理的增强request:import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWra原创 2020-12-06 18:16:14 · 107 阅读 · 0 评论 -
servlet之过滤器&监听器
过滤器过滤器其实很简单就是实现Filter接口的java类,接口中有init(),doFilte(),destroy()方法。init()和destory()方法就不用多说了,他俩跟Servlet是一样的。只有在Web服务器加载和销毁的时候被执行,只会被执行一次!值得注意的是doFilter()方法,**它有三个参数(ServletRequest,ServletResponse,FilterChain),**从前两个参数我们可以发现:过滤器可以完成任何协议的过滤操作FilterChain是一个接原创 2020-12-06 18:13:10 · 242 阅读 · 0 评论 -
tomcat与servlet
tomcat配置默认主页在web.xml中添加 <welcome-file-list> <welcome-file>helloword2.html</welcome-file> </welcome-file-list>配置虚拟目录将web站点放在webapps之外的文件夹,需要在tomcat的server.xml中进行配置,在host标签下添加; <Context path="/web1"原创 2020-12-06 18:07:50 · 597 阅读 · 0 评论 -
servlet之session&cookie
会话技术可以简单理解为:浏览器打开到关闭就是一次会话session和cookie可以实现会话跟踪技术,功能有重叠一般结合使用session和cookie结合使用的例子:用户访问浏览器,服务器生成JESSIONID,JESSIONID是一个cookie,每次http请求会携带此cookie,用来让服务器知道选择哪个session,即JESSIONID相当于session的id。(因为服务器中存这好多用户的会话session),这个过程由服务器自动完成。会话技术可以:记住浏览的商品,可以识别用户,可以原创 2020-12-06 17:56:45 · 897 阅读 · 0 评论 -
java之多线程
java多线程1.线程的创建的三种方式继承Thread类自定义线程类继承Thread类重写run()方法,编写线程执行体创建线程对象,调用start()方法启动线程public class TestThread extends Thread { @Override public void run() { //run方法为线程体 for (int i = 0; i < 20; i++) { System.out.原创 2020-12-06 17:52:06 · 176 阅读 · 0 评论 -
JUC -java.util.current
JUC基础回顾1.sleep与wait的区别:来自不同的的类sleep来着Threadwait来着Object关于锁的释放wait会释放锁sleep抱着锁睡觉,不会释放锁使用的位置不同wait必须在同步代码块中使用而sleep可以在任何地方使用2.线程的6中状态NEW新生RUNNABLE运行BLOCKED阻塞WAITING等待,死死的等待TIMED_WAITING超时等待,超时后不再等待TREMINATED终止3.写多线程的正确姿势sync原创 2020-12-06 17:50:37 · 296 阅读 · 0 评论 -
java之静态代理和动态代理
静态代理这里有一个程序员接口,他们每天就是写代码public interface Programmer { // 程序员每天都写代码 void coding();}Java3y也是一个程序员,他也写代码(每个程序员写的代码都不一样,所以分了接口和实现类)public class Java3y implements Programmer { @Override public void coding() { System.out.println(原创 2020-12-06 17:47:38 · 103 阅读 · 0 评论 -
java之泛型
泛型Generic1.解决的问题解决存储的安全性问题解决获取数据元素时,需要类型强转的问题public class TestGeneric { //在集合中没有使用泛型的时候 public static void main(String[] args) { List list=new ArrayList(); list.add(89); list.add(90); list.add(69); //原创 2020-12-06 17:45:45 · 150 阅读 · 0 评论