- 博客(38)
- 收藏
- 关注
原创 TCP粘包和拆包
加入客户端向服务器端发送两个数据包 A和B,服务器端接受到的情况分为三种:1、A和B分别收到2、A+B变成一个数据包被服务端收到(粘包)3、先收到A数据包的一部分,另一部分的A和B粘在一起被服务器收到;或者是一部分的B和A粘在一起先被收到,然后又收到剩下的B(拆包)原因:1、 发送端发送的数据大于缓冲池的大小,会发生拆包(对于接收端来说一次接受不了这么多,就选择了将数据包分开接受)。2、小于缓冲池的大小,会发生粘包(一次发送的太少了那就多接受一点吧,结果就粘在一起了)。3、进行mss(最大报文
2020-08-16 10:47:03
193
原创 ThreadLocal源码问题小总结
1、对ThreadLocal的理解Threadlocal对象可以提供线程局部变量,也就是说每一个线程都拥有一份自己的变量副本多个线程之间互不干扰。一般会重写initialValue()方法来赋值。就是每个线程第一次访问get的时候会给线程赋值,就是它使用重写initicalValue()方法分配数据。2、ThreadLocal的原理每个线程对应的Threadlocal对象内部都有一个Threadlocals字段,这个字段会指向堆中 的ThreadLocalMap。这个Map中存储的是当前线程与其他T
2020-08-10 21:40:15
240
转载 操作系统常见面试问题
nowcoder.com/discuss/468422?source_id=profile_create&channel=1011转自牛客
2020-08-06 09:06:07
223
原创 计算机网络常见问题
计算机常用端口有哪些OSI与TCP/IP各层的结构与功能,都有哪些协议?1.1 应用层应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应用层协议很多,如域名系统DNS,支持万维网应用的 HTTP协议,支持电子邮件的 SMTP协议等等。我们把应用层交互的数据单元称为报文。1.2 运输层运输层(transport layer)的主
2020-08-06 09:05:07
1125
原创 ConcurrentHashMap部分源码分析 JDK1.7版
ConcurrentHashMap 1.7采用了非常精妙的"分段锁"策略,ConcurrentHashMap的主干是个Segment数组。final Segment<K,V>[] segments;Segment继承了ReentrantLock,所以它就是一种可重入锁。在ConcurrentHashMap,一个Segment就是一个子哈希表,Segment里维护了一个HashEn...
2020-04-22 18:19:58
157
原创 【数据结构】几种排序的代码以及时间复杂度分析和优化
1、直接插入排序//时间复杂度是O(n^2)public class InsertDirectly { public static void main(String[] args) { int[] arrays=new int[]{49,38,65,97,76,13,27,49}; int i,j,temp; for(i=1;i<a...
2020-04-22 11:18:13
344
原创 Tomcat和spring MVC是如何完成一次Http请求的?
回答这个问题之前,先要明确tomcat和spring mvc各自的指责是什么tomcat:作为一个servlet容器,接受和返回http请求。spring mvc:分发请求,执行处理器,返回数据,渲染视图。tomcat和spring mvc的连接点在于servlet:步骤如下:1、请求来了以后,endpoint先接受到请求,使用socked套接字,走的是TCP/IP协议。2、将连接交给...
2020-04-22 00:03:15
317
原创 springMVC的请求处理流程(全)
如图!!对于HandlerAdapter的解释:DispatcherServlet分发请求先到HanlerMapping去找对应的处理器,由于请求不同然后返回了各式各样的处理器。前端控制器要做统一的处理,所以就根据处理器的不同功能去找对应的HandlerAdapter;例如HttpRequestHandler会适配成HttpRequestHandlerAdapter,然后这个适配器会去执行H...
2020-04-21 23:15:54
623
转载 java SE集合部分源码分析(转载)
看了源码以后又找了一些博客资料复习,感觉这个博主讲的不错。就不再把笔记敲到自己的博客上了。以后有需要会再自己写一些笔记传送门:https://www.cnblogs.com/whgk/category/909062.html...
2020-04-16 14:45:50
136
转载 JDK动态代理的编译过程
https://blog.youkuaiyun.com/qq_31859365/article/details/82902349
2020-04-16 14:31:31
210
原创 mybatis一次sql的执行流程(只是执行,不带封装)
1、通过getMapper方法得到动态代理工厂MapperProxyFactory,通过newInstance的方式得到动态代理对象MapperProxy.2、MapperProxy重写了invoke方法,对execute方法进行加强,然后调用了excuteForMany,进而调用sqlSession中的selectList方法。3、先走cachingExcutor里面的query方法,是否有...
2020-04-14 23:07:22
147
原创 JDK动态代理
动态代理有两种方式,一种是JDK动态代理;另一种是CGLib动态代理。本篇说一下JDK动态代理。一、什么是动态代理动态代理就是在代码运行过程中生成的代理对象。和它对应的还有静态代理动态代理生成的代理对象好比是经销商,被代理对象是生产商。生产商只负责生产产品,把销售的权限放给经销商。这样经销商会在生产商生产的基础上再加入销售的环节。对比到动态代理上来,动态代理就是对原有对象方法的一个补充和扩展,...
2020-04-14 23:05:02
247
原创 单例模式全解析(吐血整理)
一.介绍单例模式单例模式分为两种:懒汉式(延迟加载)和饿汉式(立即加载),单例模式固然好,但是使用不当也会出现线程安全问题。后面会解释。二、手写单例模式饿汉式:class Student{ //构造函数私有 private Student(){}; //成员静态变量初始化本身 private static Student stu=new Student(); //提供公共静态方法...
2020-04-12 23:52:26
387
原创 spring Ioc核心创建流程(简要)
(xmind图太大了,截图不完整,就用文字写了)1、容器构建启动入口1.在web.xml里配置ContextLoadListener,当启动tomcat的时候会触发初始化2.还有个参数contextconfiglocation用于指定spring的配置文件2、进行刷新前配置3、初始化beanFactory,加载beanDefinition(obtianBeanFactory)1.刷新B...
2020-04-11 00:28:02
662
转载 JVM垃圾收集器
https://blog.youkuaiyun.com/weixin_43696529/article/details/104884777懒得打字了,这位博主总结的很棒,都来自深入理解java虚拟机这本书
2020-04-04 10:43:27
129
原创 SpringMVC 请求参数绑定和原理
原文链接 自己懒得打字了 = =https://blog.youkuaiyun.com/weixin_44588495/article/details/94059500?ops_request_misc=%7B%22request%5Fid%22%3A%22158330677219195162502668%22%2C%22scm%22%3A%2220140713.130056874…%22%7D&...
2020-03-04 17:36:34
503
原创 spring的AOP和动态代理之间的关系
在传统的业务处理代码中,通常都会进行事务处理、日志记录等操作。虽然使用OOP可以通过组合或者继承的方式来达到代码的重用,但如果要实现某个功能(如日志记录),同样的代码仍然会分散到各个方法中。这样,如果想要关闭某个功能,或者对其进行修改,就必须要修改所有的相关方法。这不但增加了开发人员的工作量,而且提高了代码的出错率。为了解决这一问题,AOP思想随之产生。AOP采取横向抽取机制,将分散在各个方法中...
2020-03-02 12:01:16
971
原创 基于接口的动态代理实例
Producer假设为生产商,消费者要购买电脑不需要从生产商那里买,只需要从经销商手里买电脑即可,那么Producer就成为被代理对象,IProducer这个接口相当于经销商,经销商也要挑生产厂家,那些符合经销商要求的才会被它代理。所以用接口来模拟经销商,此时 经销商相当于代理对象。经销商从生产厂家拿货卖出去需要有提成,所以在生产厂家类的saleProduct方法中,代理商需要对这个方法...
2020-02-29 15:48:13
187
原创 spring依赖注入的原理
spring的IOC容易是一个Map结构:key:注解@service()/@Repository()里面的value属性的值 是个stringvalue:写这两个注解的类 Object类型注入数据有三个注解:@Autowired @Qualifier @Resource以Autowired和Resource为例:某个类标注了注解,在注入的时候,会根据这个类的数据类型去Ioc容器中...
2020-02-28 16:31:29
496
原创 Spring利用工厂模式解耦合的过程
解耦思想1.通过反射来创建对象,而不是依赖某个jar包,避免使用new关键字2.通过读取配置文件来过去创建对象的全限定类名一般的逻辑都是表现层调用业务层代码;业务层调用持久层代码。在调用业务层代码的时候会new 一个业务层的实现类,调用持久层代码的时候会new一个持久层的实现类。这种情况是急需避免的。使用javaBean来创建service和dao对象第一个:需要用一个配置文件来配置se...
2020-02-27 13:05:13
176
原创 MyBatis框架出现serverTimeZone错误问题
在SqlMapConfig.xml的数据库连接池配置中修改:完整的连接字符串示例:jdbc:mysql://localhost:3306/test?serverTimezone=UTC或者还有另一种选择:jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8,这个是解决中文乱码输入问题,当然也可以...
2020-02-22 14:42:23
564
转载 IO流使用规律总结
IO流使用规律总结:(1)明确要操作的数据是数据源还是数据目的(要读还是要写)源:InputStream Reader目的:OutputStream Writer(2)明确要操作的设备上的数据是字节还是文本源:字节:InputStream文本:Reader目的:字节:OutputStream文本:Writer(3)明确数据所在的具体设备源设备:硬盘:文件 File开头...
2020-02-16 16:19:56
123
原创 论文笔记《融合注意力机制的多通道卷积与双向GRU模型的文本情感分析研究》
对于CNN RNN GRU有一些思考:(1)对于词 语 的 向 量 化 表 示,高 维 分 布 式 向 量表示赋予具有相似词义的词语之间的高相似性。与此同时,与独热表示相比,词嵌入方式可以更好地解决短文本的词义冗余等问题,减少计算量。(2)CNN 在文本处理中能够学习提取到位于文本不同位置上的局部特征。RNN 模型能够更 好地考虑文本内的序列关系,并且能够学习到较长序列文本依赖而不仅仅局限于...
2019-12-11 19:15:22
3692
3
转载 论文笔记《TransNets: Learning to Transform for Recommendation》
本文摘要深度学习及相关模型在推荐系统任务中,比传统方法都要更优秀。目前推荐系统中,会融合很多的外部信息,如用户评论等,而 NLP 相关技术的发展更是受到了神经网络的大增益,DeepCoNN 模型借助神经网络从评论文本中获得用户、物品的表示。但是 DeepCoNN 模型在预测用户给目标商品的打分时,更多的是利用了用户的评论信息,本质上是一个根据评论文本预测打分的“情感分类”的问题,而不是推荐问题。...
2019-12-01 21:26:48
990
原创 论文笔记 《Neural Attentional Rating Regression with Review-level Explanations》
Intruduction评分预测是推荐系统中常见的任务。大多数方法都是基于协同过滤的,例如PMF等,这类方法最大的问题在于无法对推荐提供可解释性。很多研究表明在推荐中提供可解释性,是非常有用的。缺乏可解释性的推荐不能真正让用户信服。在大多数电商网站中,允许用户评论产品并给予评分,用户评论信息中会通常包含关于产品有用的特征,例如quality, material, color 等。在本文中,评论的...
2019-11-25 19:46:54
2759
5
原创 论文笔记 《Joint Deep Modeling of Users and Items Using Reviews for Recommendation》(泛读)
简介:作者提出基于一种神经网络的模型,一种从某个用户的评论中学习到该用户喜好;另一种是从所有用户对某个商品的评论中学习到该商品的特征和特点。为用户和项目学习的潜在特征用于在两个网络顶部引入的层中预测相应的等级。交互层是由矩阵分解技术驱动的,以使用户和项目的潜在因素彼此交互。一个关键的贡献是,DeepCoNN使用预训练的词嵌入技术来表示评论文本,以从评论中提取语义信息。模型优点:1、拟议的深...
2019-11-16 11:32:36
1671
7
转载 为什么要进行数据标准化?
在现实生活中,一个目标变量(y)可以认为是由多个特征变量(x)影响和控制的,那么这些特征变量的量纲和数值的量级就会不一样,比如x1 = 10000,x2 = 1,x3 = 0.5 可以很明显的看出特征x1和x2、x3存在量纲的差距;x1对目标变量的影响程度将会比x2、x3对目标变量的影响程度要大(可以这样认为目标变量由x1掌控,x2,x3影响较小,一旦x1的值出现问题,将直接的影响到目标变量的预测...
2019-11-11 22:48:03
7373
转载 论文笔记《Aspect-Aware Latent Factor Model:Rating Prediction with Ratings and Reviews》
https://www.zuanbi8.com/forum.php?mod=viewthread&tid=38378转载
2019-11-03 14:36:45
594
原创 论文笔记《A3NCF: An Adaptive Aspect Attention Model for Rating Prediction》
提出问题 提出了矩阵分解的一些不足之处,用户对物品的一个rate只是用户对其的一个总体评价,缺少可解释性。例如:一个用户对一部手机有较高的评分可能只是因为它的摄像头好或者是电池的续航能力强,但是这并不代表对这部手机的整体有了一个很高的评价。所以说MF并不能实现细粒度的建模。 基于这个限制,研究者们将目光转向了文本评论,评论中包含了很多丰富的信息,由于深度学习有着很强的提取特征能力,研究者...
2019-10-30 14:40:00
524
原创 《论文笔记》A Deep Learning Based Collaborative Neural Network Framework for Recommender System
1、提出想法:作者提出了传统协同过滤的一些缺点并列举了用深度学习来更好的发现深层次的交互特征。在本文中提出一种基于协同过滤的新型矩阵分解技术,采用深度学习来学习潜在特征并连接。使用两种不同的结构:1、在矩阵分解之前先学习来自用户和项目的潜在特征2、另一种是用前馈深度网络的多个阶段来学习项目和用户的潜在表示我们发现多阶段联合学习表示深度神经网络,与单独学习用户和商品特征相比,可显着提高性能。...
2019-10-21 09:31:29
462
转载 矩阵分解在协同过滤推荐算法中的应用和理解
矩阵分解在协同过滤推荐算法中的应用和理解原文链接 原Po写的很好,大致描述一下。矩阵分解要解决的问题协同过滤所要达到的目的是将整个user-item矩阵中空白的位置来预测出值,矩阵分解可以满足这一要求,将原矩阵分解成两个或者三个子矩阵,然后再相乘得到一个新的矩阵,这个新的矩阵就是最终 要预测的矩阵(个人理解)SVD矩阵分解 SVD分解要求矩阵是稠密的,而在user-item矩阵中往往...
2019-10-01 16:54:47
522
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人