-
微信小程序开发
微信小程序开发为什么会有小程序诞生背景:为了更好地用户体验,也为了网页开发者便于规范和管理(JSSDK以前,根据网页开发的规范,可以逃避一些微信本身的规则),有一套自己的框架描述语言,让开发者根据小程序的开发规范进行开发。什么是小程序1、不需要安装——触手可及;2、通过扫一扫或者搜一下就可以使用——用完即走;3、不占内存——无需安装;小程序的前景与发展缺口需求量越来越大,摄入的领域也越来越多微信小程序账号申请1、https://mp.weixin.qq.com/,立即注册;2、点击申请小程...…
-
Dubbo
Dubbo为什么使用Dubbo——RPC远程调用RPC远程调用框架:1、HttpClient 内部转发 缺点:没有服务治理,没有负载均衡、容错机制、熔断机制2、Dubbo3、Dubbox4、springCloud主流框架 eureka注册中心(fegin、rest客户端调用工具、zull、分布式配置中心、ribbon、hystriy redis)5、zookeeper网站架构的演变过程单点系统(MVC):控制层controller、业务逻辑层service、数据库访问层dao,几百个程序员...…
-
ActiveMQ
ActiveMQ消息中间件产生的背景在客户端与服务器进行通讯时.客户端调用后,必须等待服务对象完成处理返回结果才能继续执行。客户与服务器对象的生命周期紧密耦合,客户进程和服务对象进程都都必须正常运行;如果由于服务对象崩溃或者网络故障导致用户的请求不可达,客户会受到异常点对点通信: 客户的一次调用只发送给某个单独的目标对象。为什么要使用消息中间件什么是MQ:客户端和服务器之间的异步通讯解决高并发、两种通讯方式、发布订阅、异步通信(无需等待)1、点对点(队列)–生产者、消费者生产者:主要向队列...…
-
Zookeeper
Zookeeper分布式开源框架,解决分布式协调工具应用场景:dubbo rpc远程调用框架+zookeeper注册中心(命名服务)发布订阅 对zk节点发生改变,都有事件通知负载均衡分布式通知(watcher)生产者到注册中心创建节点信息,消费者通过事件通知进行拿到信息master选举 主备机 投票选举 ping通就没有宕机 心跳检测机制Zookeeper分布式锁(全局ID)使用Zookeeper分布式配置中心Zookeeper数据结构类似于xml的树状结构 节点名称,节点内容 节点名称不...…
-
线程
线程什么是应用程序就是可执行的软件:QQ、360……,在每一个应用程序中,都会有个进程;什么是进程就是执行中的程序,每个进程有多个不同的执行路径,也是多个线程的集合,一个操作系统有多个进程(cpu执行权的切换);在进程中,代码是怎么执行的,执行顺序是什么在任何一个进程中,一定有一个线程就是主线程;什么是线程一个执行顺序,一个执行流程、一个执行路径;使用多线程可以提高程序执行效率。每个线程互不影响,自己独立运行,提高用户体验。多线程应用场景?答:主要能体现到多线程提高程序效率。举例: 迅雷多...…
-
Mysql调优
MySQL调优声明:转载至蚂蚁课堂优化1、数据库设计要合理(3F)2、添加索引(普通索引、主键索引、唯一索引、全文索引)3、分表分库技术(取模分表、水平分割、垂直分割)4、读写分离5、存储过程6、配置MySQL最大连接数-my.ini7、MySQL服务器升级8、随时清理碎片化9、sql语句调优数据库设计三范式请见另一个博客文章分表分库垂直拆分垂直拆分就是要把表按模块划分到不同数据库表中(当然原则还是不破坏第三范式),这种拆分在大型网站的演变过程中是很常见的。当一个网站还在很小的时候,只有小...…
-
SpringCloud
SpringCloud声明:转载于蚂蚁课堂单点系统架构传统项目架构传统项目分为三层架构,将业务逻辑层、数据库访问层、控制层放入在一个项目中。适合于个人或者小团队开发,不适合大团队开发。如果在互联网公司,使用传统项目架构进行开发,如果开发的人特别多,就会产生代码冲突和代码重复等问题这时候就提出了分布式开发,就是将一个大公司,拆分成n多个子项目。譬如:会员系统,支付系统,消息系统,微信系统等等,各自分工分布式项目架构根据业务需求进行拆分成N个子系统,多个子系统相互协作才能完成业务流程子系统之间...…
-
Nginx
Nginx声明:部分转载于蚂蚁课堂什么是nginx?nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定,所以现在很多知名的公司都在使用nginx。nginx作用:集群(减轻单台服务器的压力)、反向代理(不暴露真实IP地址)、防盗链、虚拟服务器、静态服务器(动静分离)引申安全问题:你们网站怎么做安全架构的...…
-
Spring Boot
SpringBootSpringBoot(主流–安全)1、敏捷开发:整合任何框架,配置基本都封装好, 只需依赖主键2、无需Tomcat3、减少xml配置 没有(xml),换成了配置文件4、SpringBoot和SpringCloud联合开发(微服务—->SpringCloud【http接口+restful】,基于SpringBoot web组件封装Springmvc)5、注解–记住创建SpringBoot工程1、建立类型为Jar的Maven工程2、xml配置 <parent&g...…
-
Redis基础
Redisjava内置缓存常用的有Oscache,Ehcache,Jcache,Jbosscache等等很多ehcache 主要是对数据库访问的缓存,相同的查询语句只需查询一次数据库,从而提高了查询的速度,使用spring的AOP可以很容易实现这一功能。【hibernate二级缓存机制】oscache 主要是对页面的缓存,可以整页或者指定网页某一部分缓存,同时指定他的过期时间,这样在此时间段里面访问的数据都是一样的。【mybatis二级缓存机制】优点:减去数据库服务端的压力缺点:内存溢出、...…
-
Nio
NIO编程什么是NIONIO编程是jdk1.4在IO基础之上进行改进而产生的。Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。Java NIO: Channels and Buffers(通道和缓冲区)标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Java...…
-
垃圾回收机制算法分析
垃圾回收机制算法(GC)必问问题:什么是垃圾回收机制?答:就是不定时的去堆内存清理不可达对象(可达:对象经常使用,只要被引用)。在C语言中,对象是要手动清理的,在java中有一个gc线程,会不定时的去清理不可达对象。注释:调用了gc()手动回收,也只是有大概率会执行finalize()回收前的方法,内存溢出和内存泄露的区别内存泄漏的定义:对象已经没有被应用程序使用,但是垃圾回收器没办法移除它们,因为还在被引用着。内存溢出的定义:项目需要4G,但是运行环境只支持3G,溢出。如何防止内存泄露下...…
-
JVM参数调优配置
JVM参数调优配置Java内存结构java内存结构(JVM虚拟机的一个存储空间)——两者很大的区别——java内存模型(多线程JMM,线程可见性)方法区(永久区):static修饰 、 常量信息 ,在class文件被加载的时候就初始化。所有线程都是共享的。注意线程安全问题。调优问题:web开发过程中,定义常量太多好不好?答:肯定是不好的,因为常量定义太多,就都存储在方法区里,java的垃圾回收机制就会自动略过方法区,非常占内存,会造成内存溢出问题,并且方法区是所有线程都是共享的,容易产生线...…
-
JavaEE的一小丢丢
JavaEE的一小丢丢JavaSE和JavaEE的区别javaee:主要web开发,企业ee Spring,mybatis,hibernatejavase:面向对象,多线程,IO流,集合,(网络–NIO netty)演变过程B/S和C/S的区别:C/S属于 客户端 桌面应用程序– 客户端 内部服务器 特征:需要下载安装包 升级:需要下载安装包B/S属于 web程序-网站 特征:无需下载 升级:不需要最新安装包浏览器是客户端。服务器从物理上来说,服务器就是一台PC机器。8核,8G以上...…
-
Maven
Maven项目管理工具Maven是一个跨平台的项目管理工具,主要用于基于java平台的项目构建,依赖管理。互联网maven项目工具,管理jar,解决冲突,远程仓库(中央),本地,私服,rpc远程调用:dubboJdk的情况Jdk必须1.6以上的版本从官网下载maven从http://maven.apache.org/官网上下载最新版本的maven设定path路径把下载下来的maven解压缩,然后有一个bin文件夹,这是一个bin的文件夹的目录F:\work\course\maven\mav...…
-
Http协议
Http协议同步和异步同步概念:请求与响应异步概念:服务器端不需要及时响应到客户端,服务器处理后推送给客户端请求时间戳 请求同一东西东西,第一次请求响应码是200就是服务器拿资源,而且只请求一次,第二次就是304是从本地拿资源。这时候可以通过时间戳来防止浏览器缓存。防盗链什么是盗链:就是一些网站他的图片,视频等等资源来自于其他网站,他直接写其他网站资源所存储的绝对路径,并不是属于他自己的。反盗链机制1、java代码判断请求来源Referer 过滤器,过滤器获取请求头来源字段,判断请求头...…
-
面试题之数据库设计三范式
数据库设计之三范式 为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。这也是大部分IT公司招人时面试题的尿性,所以记住三范式还是有很大的作用。宗旨:设计范式(业务关系思考+冷热数据分离+三范式+反三范式+数据字典)第一范式(1NF)数据库表中不能出现重复记录,每个字段是原子性的不能再分;即表的列的具有原子性,不可再分解,即列的信息,不能分解, 只要...…
-
Typora
Typora入门经验分享前言分享写这个分享的原因在于,既然选择在Github上面搭建属于自己的博客,书写日志文章肯定是离不开一个叫做Markdown的语言。Markdown的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人用它写博客。世界上最流行的博客平台WordPress和大型CMS如Joomla、Drupal都能很好的支持Markdown。完全采用Markdown编辑器的博客平台有Ghost和Typecho。当然Github也能很好的解析。所以说…
-
mes系统(更新中)
mes系统从入门到精(fang)通(qi)mes简介 MES(Manufacturing Execution System)即制造企业生产过程执行系统,是一套面向制造企业车间执行层的生产信息化管理系统。MES 可以为企业提供包括制造数据管理、计划排产管理、生产调度管理、库存管理、质量管理、人力资源管理、工作中心/设备管理、工具工装管理、采购管理、成本管理、项目看板管理、生产过程控制、底层数据集成分析、上层数据集成分解等管理模块,为企业打造一个扎实、可靠、全面、可行的制造协同管理平台。背景...…
-
SSM基础环境配置
SSM基础配置Springmvc是当下web框架中最有价值,最应该使用的mvc框架,没有之一,01年推出来,03年出了一本书《webapplicationwithoutejb》,提出思想。Springmvc最核心的最重要的是数据绑定和数据传参,其他任何框架达不到注入参数到方法的效果。现在一些企业自己用的框架也是基于这个在封装和提升的。目前大多都是基于SpringBoot微服务进行开发,省去了SSM繁琐的配置,当然了解他一些基本jar包的配置也是有必要的。基于maven引包,所以在pom.x...…