java
不想努力的工大青年
这个作者很懒,什么都没留下…
展开
-
SpringBoot自动配置原理,面试高频!
SpringBoot自动配置我们都知道一个SpringBoot主配置类只要标注上@SpringBootApplication的注解,Spring就会帮我们自动配置各个组件和实例化Bean,我们来通过源码分析一下SpringBoot自动配置原理。首先我们要知道,SpringBoot将符合条件的@Configuration类都加载到Spring容器中,就像一只八爪鱼,我们的启动类就是一个典型的@...原创 2019-11-15 13:18:33 · 2424 阅读 · 0 评论 -
前后端日常使用:前后端两次MD5加密
MD5加密设计前端后端分别进行一次md5 salt加密前端加密为了防止密码明文在http上传输,则需要在前端进行一次md5 salt加密使用JQuery md5前端JQuery md5工具:https://github.com/emn178/js-md5在前端js中声明一个固定盐salt//saltvar g_passsword_salt="ewn...原创 2019-11-15 13:17:18 · 3157 阅读 · 0 评论 -
Mybatis源码分析—Mapper创建和Spring的管理
Mybatis源码分析—Mapper创建和Spring的管理我们分析的时候先自己猜测实现方式再对比mybatis的源码实现方式mapper 创建因为mybatis可以脱离spring自己使用,所以mapper的bean创建是由mybatis完成的创建方式,根据不同的mapper,方法都是对应与注解或者配置文件对应名称的方法,所以我们猜测使用的是spring的动态代理创建方式我们...原创 2019-11-15 13:14:37 · 1024 阅读 · 0 评论 -
Java全文搜索引擎—Solr
全文检索倒排索引根据文档创建索引,再对索引进行查询获取文档。相比与顺序查询:不需要那么多的查询(一个文档一个文档找索引,找到就匹配,需要全部查询,效率很低),而且可以在索引上定位,出现在哪个文档哪个地方,支持高亮LuceneLucene是一个基于Java的全文检索库,可以看成一个持久层框架,与Lucene索引交互倒排索引存储信息左边保存的是一系列字符串,称为词典。...原创 2019-11-15 13:12:51 · 1331 阅读 · 0 评论 -
多次尝试的学习,终于搞懂了NIO!
NIO—NonBlocking IO(new IO)io面向流编程,只能作为输入或者输出流的一种,是同步阻塞的,每一个连接过来都要创建一个线程去处理,线程上下文切换开销很大,造成了很大的瓶颈于是有了线程池实现的伪阻塞IO,一定程度解决了线程创建过多的问题,但是没有从根本上解决阻塞的问题,并且线程过多而线程池过小时也会造成很大的瓶颈既然根本瓶颈原因是线程数和阻塞IO,那么我们有没有办法只用...原创 2019-11-15 13:07:07 · 922 阅读 · 0 评论 -
01背包问题
01背包问题有N件物品和一个容量为V的背包。第i件物品的费用是v[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。要么拿,要么不拿dp解决方法关键就在于找到它的最优子问题,物品为N个,体积为V,我们需要取二维状态的dp将前i个物品放入体积为j的背包中可以获得的最大价值->dp[i][j]只有单件物品就只需要考虑放或者不放,如果放入,体积就需要减去v[i],价...原创 2019-11-15 13:01:00 · 852 阅读 · 0 评论 -
MongoDB基本知识和操作扫盲!
MongoDB学习笔记—updatingjson可以为我们描述多种关系:一对一、一对多、多对一和多对多与js语法类似创建记录会自动生成一条_id主键,唯一id,代表该Object,也可以声明为自定义的数据{_id:"123"}BSON和JSON我们都知道Mongodb存储的是BSON格式数据,BSON格式数据以二进制格式存储,可以嵌套文档和数组,增加了数据类型,Date...原创 2019-11-15 12:53:00 · 871 阅读 · 0 评论 -
AbstractQueuedSynchronizer AQS锁原理及ReentrantLock非公平锁的实现
AbstractQueuedSynchronizer AQS锁原理及ReentrantLock非公平锁的实现AbstractQueuedSynchronizer是基于一个FIFO双向链队列 ==CLH队列==,用于构建锁或者同步装置的类,也称为Java同步器,ReentrantLock的公平锁与非公平锁就是由该同步器构成,链队列结构图如下。你可以理解为银行ATM机取钱,一个人先去取,获取到了锁...原创 2019-11-14 14:09:09 · 1075 阅读 · 0 评论 -
netty学习—实现websocket长连接和socket之间进程通信
netty学习—实现websocket长连接和socket之间通信最近正在学习netty,跟着教程写了一个基于WebSocket的网页聊天室,对netty有了一定的了解,现在正好项目使用到长连接,选用了netty。项目目标:客户端A(网页)和服务端通过WebSocket进行通信,客户端B和服务端通过Socket通信,把客户端B的数据传输到客户端A,桥梁为服务端Socket服务端监听8090...原创 2019-11-14 14:06:25 · 1621 阅读 · 0 评论 -
扫码登录功能Demo—Postman模拟扫码请求
扫码登录功能Demo—Postman模拟扫码请求扫码登录功能—轮询or长连接WebSocket—Zxing生成二维码扫码登录其实就是一个登录请求,只不过信息存储在用户手机上,还需要通过二维码验证是否匹配的方式就可以登录,免去了用户多次输入密码的场景,现在越来越多登录方式,其中扫码登录算是比较人性化的了我们把一个全局唯一id保存在二维码中,使用手机扫码可以获取到二维码中的信息,此时就把...原创 2019-11-14 13:40:33 · 3374 阅读 · 0 评论 -
SpringBoot 轮询or长连接 实现扫码登录功能Demo—Postman模拟扫码请求
扫码登录功能Demo—Postman模拟扫码请求扫码登录功能—轮询or长连接WebSocket—Zxing生成二维码扫码登录其实就是一个登录请求,只不过信息存储在用户手机上,还需要通过二维码验证是否匹配的方式就可以登录,免去了用户多次输入密码的场景,现在越来越多登录方式,其中扫码登录算是比较人性化的了我们把一个全局唯一id保存在二维码中,使用手机扫码可以获取到二维码中的信息,此时就把...原创 2019-11-14 13:39:49 · 2584 阅读 · 1 评论 -
牛客网算法题 (一) 办公室路径条数解法 Shopee的办公室(二)
办公室路径走法题目描述shopee的办公室非常大,小虾同学的位置坐落在右上角,而大门却在左下角,可以把所有位置抽象为一个网格(门口的坐标为0,0),小虾同学很聪明,每次只向上,或者向右走,因为这样最容易接近目的地,但是小虾同学不想让自己的boss们看到自己经常在他们面前出没,或者迟到被发现。他决定研究一下如果他不通过boss们的位置,他可以有多少种走法?第一行 x,y,n (0<x&l...原创 2019-07-02 21:25:17 · 1007 阅读 · 2 评论 -
写的一个网页登录注册模板(css+js),注册成功后把账号保存到MySQL数据库,登录时从数据库查找进行验证(jsp+javabean)
首先是网页前端的设计,使用css美化(字体使用Google font,图标使用font awemome,颜色使用palettes|flat ui colors,谷歌可找到,个人觉得挺好用)使用了简单的js进行表单验证用户名长度、密码、确认密码登录界面注册界面把前端代码写到jsp里面了,通过表单post提交到action,进行相应的业务逻辑处理操作**main.jsp**<%...原创 2019-04-22 12:35:34 · 6300 阅读 · 1 评论 -
Mybatis框架教程 Mysql(SSM之Mybatis)适合初学者阅读,知识点较为全面 包括mybatis大部分语法 相关配置(值得收藏)
是支持定制化sql、存储过程以及高级映射的持久化框架简化了数据库连接,精力放在关注sql语句1.mybatis开发dao两种方法:servlet(dao接口 dao实现)mybatis mapper接口(dao接口)代理开发2.mybatis配置文件 sqlMapConfig.xml3.核心:输入映射、输出映射4.mybatis动态sqlJDBC问题总结:1.数据库连接:连接数据...原创 2019-06-29 22:47:55 · 117 阅读 · 0 评论 -
SpringMVC框架教程 JavaWeb开发(SSM框架第三部分)从介绍SpringMvc到使用SpringMvc让你掌握核心知识(值得收藏)
服务器端三层架构:表现层(SpringMVC)、业务层(Spring)、持久层(Mybatis)表现层:拿到http请求的参数,传递给springSpringMVC:一种基于Java实现的MVC设计模型的请求驱动类型的轻量级框架M(model):javaBean对象(将参数封装成JavaBean对象交给业务层处理)V(view):jsp (向控制器提交数据,显示模型中的数据)C(con...原创 2019-06-29 22:54:38 · 165 阅读 · 0 评论 -
Spring框架教程(SSM第一部分) 从介绍Spring以及理解实现方法到Spring核心知识 教你上手使用Spring(适合收藏)
Srping一个轻量级java开发框架,为解决应用开发的业务逻辑层和其他层耦合问题,full-stack一站式框架专注于应用程序的开发斜体样式Spring不取代框架,而是把他们无缝连接新的编程思想:IOC反转:由我们自己执行反转给Spring帮我们执行IOC控制:由Spring帮我们创建、掌控对象周期,在我们需要的时候向Spring申请即可DI:依赖注入bean标签:配置bean对象...原创 2019-06-29 22:51:27 · 94 阅读 · 0 评论 -
基于Spring+Mybatis+jsp+servlet的用户登录注册功能(数据库查找和插入用户),jsp写的前端(css+javascript),使用IDEA
基于Spring+Mybatis+jsp+servlet的用户登录注册功能(数据库查找和插入用户),jsp写的前端(css+javascript),使用IDEA!!!代码放在最后网页前端的设计:jsp编写,使用css美化(字体使用Google font,图标使用font awemome,颜色使用palettes|flat ui colors,谷歌可找到,个人觉得挺好用)使用了简单的js进行表...原创 2019-05-18 11:29:52 · 2932 阅读 · 2 评论