1 不想努力的工大青年

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 24w+

flutter实战项目,教你使用flutter打造仿微信app页面!

flutter_wechat源码地址:https://github.com/ding-zou/flutter-wechat????A flutter app which clones wechat! 这是一个仿照微信样式基于flutter实现的app,还在继续完善中,欢迎提意见包含了flutter中基本所有的组件,适合以此项目进行flutter学习。页面展示主要功能实现QA1...

2020-03-02 22:49:10

SpringBoot自动配置原理,面试高频!

SpringBoot自动配置我们都知道一个SpringBoot主配置类只要标注上@SpringBootApplication的注解,Spring就会帮我们自动配置各个组件和实例化Bean,我们来通过源码分析一下SpringBoot自动配置原理。首先我们要知道,SpringBoot将符合条件的@Configuration类都加载到Spring容器中,就像一只八爪鱼,我们的启动类就是一个典型的@...

2019-11-15 13:18:33

前后端日常使用:前后端两次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

Mybatis源码分析—Mapper创建和Spring的管理

Mybatis源码分析—Mapper创建和Spring的管理我们分析的时候先自己猜测实现方式再对比mybatis的源码实现方式mapper 创建因为mybatis可以脱离spring自己使用,所以mapper的bean创建是由mybatis完成的创建方式,根据不同的mapper,方法都是对应与注解或者配置文件对应名称的方法,所以我们猜测使用的是spring的动态代理创建方式我们...

2019-11-15 13:14:37

Java全文搜索引擎—Solr

全文检索倒排索引根据文档创建索引,再对索引进行查询获取文档。相比与顺序查询:不需要那么多的查询(一个文档一个文档找索引,找到就匹配,需要全部查询,效率很低),而且可以在索引上定位,出现在哪个文档哪个地方,支持高亮LuceneLucene是一个基于Java的全文检索库,可以看成一个持久层框架,与Lucene索引交互倒排索引存储信息左边保存的是一系列字符串,称为词典。...

2019-11-15 13:12:51

多次尝试的学习,终于搞懂了NIO!

NIO—NonBlocking IO(new IO)io面向流编程,只能作为输入或者输出流的一种,是同步阻塞的,每一个连接过来都要创建一个线程去处理,线程上下文切换开销很大,造成了很大的瓶颈于是有了线程池实现的伪阻塞IO,一定程度解决了线程创建过多的问题,但是没有从根本上解决阻塞的问题,并且线程过多而线程池过小时也会造成很大的瓶颈既然根本瓶颈原因是线程数和阻塞IO,那么我们有没有办法只用...

2019-11-15 13:07:07

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

MongoDB基本知识和操作扫盲!

MongoDB学习笔记—updatingjson可以为我们描述多种关系:一对一、一对多、多对一和多对多与js语法类似创建记录会自动生成一条_id主键,唯一id,代表该Object,也可以声明为自定义的数据{_id:"123"}BSON和JSON我们都知道Mongodb存储的是BSON格式数据,BSON格式数据以二进制格式存储,可以嵌套文档和数组,增加了数据类型,Date...

2019-11-15 12:53:00

多次尝试的学习,终于搞懂了NIO!

NIO—NonBlocking IO(new IO)io面向流编程,只能作为输入或者输出流的一种,是同步阻塞的,每一个连接过来都要创建一个线程去处理,线程上下文切换开销很大,造成了很大的瓶颈 于是有了线程池实现的伪阻塞IO,一定程度解决了线程创建过多的问题,但是没有从根本上解决阻塞的问题,并且线程过多而线程池过小时也会造成很大的瓶颈 既然根本瓶颈原因是线程数和阻塞IO,那么我们有没有办法只...

2019-11-15 00:26:50

01背包问题

01背包问题有N件物品和一个容量为V的背包。第i件物品的费用是v[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。要么拿,要么不拿dp解决方法关键就在于找到它的最优子问题,物品为N个,体积为V,我们需要取二维状态的dp将前i个物品放入体积为j的背包中可以获得的最大价值->dp[i][j]只有单件物品就只需要考虑放或者不放,如果放入,体积就需要减去v[...

2019-11-15 00:11:03

你真的了解二分查找吗?

二分查找算法解析基本框架:int binarySearch(int[] nums, int target) { int left = 0, right = ...; while(...) { int mid = (right + left) / 2; if (nums[mid] == target) { ... ...

2019-11-15 00:04:09

AbstractQueuedSynchronizer AQS锁原理及ReentrantLock非公平锁的实现

AbstractQueuedSynchronizer AQS锁原理及ReentrantLock非公平锁的实现AbstractQueuedSynchronizer是基于一个FIFO双向链队列 ==CLH队列==,用于构建锁或者同步装置的类,也称为Java同步器,ReentrantLock的公平锁与非公平锁就是由该同步器构成,链队列结构图如下。你可以理解为银行ATM机取钱,一个人先去取,获取到了锁...

2019-11-14 14:09:09

netty学习—实现websocket长连接和socket之间进程通信

netty学习—实现websocket长连接和socket之间通信最近正在学习netty,跟着教程写了一个基于WebSocket的网页聊天室,对netty有了一定的了解,现在正好项目使用到长连接,选用了netty。项目目标:客户端A(网页)和服务端通过WebSocket进行通信,客户端B和服务端通过Socket通信,把客户端B的数据传输到客户端A,桥梁为服务端Socket服务端监听8090...

2019-11-14 14:06:25

扫码登录功能Demo—Postman模拟扫码请求

扫码登录功能Demo—Postman模拟扫码请求扫码登录功能—轮询or长连接WebSocket—Zxing生成二维码扫码登录其实就是一个登录请求,只不过信息存储在用户手机上,还需要通过二维码验证是否匹配的方式就可以登录,免去了用户多次输入密码的场景,现在越来越多登录方式,其中扫码登录算是比较人性化的了我们把一个全局唯一id保存在二维码中,使用手机扫码可以获取到二维码中的信息,此时就把...

2019-11-14 13:40:33

SpringBoot 轮询or长连接 实现扫码登录功能Demo—Postman模拟扫码请求

扫码登录功能Demo—Postman模拟扫码请求扫码登录功能—轮询or长连接WebSocket—Zxing生成二维码扫码登录其实就是一个登录请求,只不过信息存储在用户手机上,还需要通过二维码验证是否匹配的方式就可以登录,免去了用户多次输入密码的场景,现在越来越多登录方式,其中扫码登录算是比较人性化的了我们把一个全局唯一id保存在二维码中,使用手机扫码可以获取到二维码中的信息,此时就把...

2019-11-14 13:39:49

牛客网算法题 (一) 办公室路径条数解法 Shopee的办公室(二)

办公室路径走法题目描述shopee的办公室非常大,小虾同学的位置坐落在右上角,而大门却在左下角,可以把所有位置抽象为一个网格(门口的坐标为0,0),小虾同学很聪明,每次只向上,或者向右走,因为这样最容易接近目的地,但是小虾同学不想让自己的boss们看到自己经常在他们面前出没,或者迟到被发现。他决定研究一下如果他不通过boss们的位置,他可以有多少种走法?第一行 x,y,n (0<x&l...

2019-07-02 21:25:17

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

Spring框架教程(SSM第一部分) 从介绍Spring以及理解实现方法到Spring核心知识 教你上手使用Spring(适合收藏)

Srping一个轻量级java开发框架,为解决应用开发的业务逻辑层和其他层耦合问题,full-stack一站式框架专注于应用程序的开发斜体样式Spring不取代框架,而是把他们无缝连接新的编程思想:IOC反转:由我们自己执行反转给Spring帮我们执行IOC控制:由Spring帮我们创建、掌控对象周期,在我们需要的时候向Spring申请即可DI:依赖注入bean标签:配置bean对象...

2019-06-29 22:51:27

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

linux教程 基本知识和常用命令 Java程序员必备 较为详细 从基础开始(值得收藏)

Ubuntu特点:没有磁盘的概念,每个用户只能操作根目录下的一个用户文件夹/home/ 代表根目录.代表当前目录或者隐藏文件文件夹…代表上一级目录*代表任意字符终端命令pwdprint work directory 输出当前目录mkdirmake directory 创建文件夹mldir -p a/b/c/d 创建多个文件夹 在a下创建b,b下创建c,c下常见dls列出...

2019-06-29 22:43:16

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。