java学习总结(三)

  1. css选择器:id选择器: #id熟悉{};类选择器:.类名属性{};标签选择器:标签名称{};选择所有元素:*{};并集选择器:选择器1,选择器2{};子选择器:选择器1 选择器2{};父选择器:选择器1>选择器2{};
  2. js:类型转换 string 转为 number 中如果字符串中是数字则按照数值进行转换,如果不是数字则转换为Nan;boolean 里面 false = 0,true = 1
  3. jsp与servlet区别:jsp是servlet技术扩展,本质就是servlet的简易方式。区别:servlet应用逻辑在java文件当中,并且完全从html中分离出来了,而jsp是java和html组合为一个扩展名为jsp的文件。jsp侧重视图,servlet侧重逻辑控制。
  4. jsp的9大内置对象及其作用:request:封装客户端请求,其中包含get/post请求;response:封装服务器对客户端的响应;page:jsp页面本身;exception:封装页面抛出异常对象;pageContext:通过该对象可获取其他对象;session:封装用户会话对象;application:封装服务器运行环境对象;out:输出服务器响应的输出流对象;config:web应用的配置对象
  5. jsp的四种作用域:page:代表与一个页面相关的对象和属性;request:代表与客户端发出的一个请求相关的对象和属性。其中一个请求可能跨越多个页面,涉及多个web组件,需要在页面显示临时数据可以置于此作用域;session:代表与整个web应用程序相关的对象和属性,跟某个用户相关的数据应该放在用户自己的session中;application:代表与整个web应用程序相关的对象和属性,它实质上跨越整个web应用程序,包括多个页面、请求和会话的一个全局作用域
  6. ceil(x):对数进行上舍入;floor(x):对数进行下舍入;round(x):把数四舍五为最近的整数
  7. 正则表达式对象:\d:单个数字字符;\w:单个单词字符;?:表示出现0次或1次;*:表达出现0次或多次;+:出现1次或多次;^:开始;$:结束
  8. dom操作:根据html获取页面标签对象:document.getElementById("id值");修改标签内容:根据innerHtml属性修改便签体内容
  9. Bom(浏览器对象模型):window:窗口对象;navigator:浏览器对象;screen:显示器屏幕对象;history:历史记录对象;location:地址栏对象
  10. back():加载history列表中的前一个url;forward():加载history列表中的url
  11. xml和html区别:xml是自定义的,语法严格,是存储数据使用的;html是预定义的,是标签,是用来展示数据的
  12. 静态动态资源分类:静态资源指所有用户访问到的数据都一样;动态资源指每个用户访问得到的数据都不一样,用户在访问资源之后都会先将动态资源转化为静态资源返回给浏览器
  13. 网络通信三要素:IP;端口;协议
  14.   sql注入避免:使用preparedStatement;使用正则表达式过滤到字符中特殊字符   mybatis里面使用#{变量}
  15. xss攻击:xss攻击即跨站脚本攻击,是web常见漏洞,主要是攻击者往web页面插入恶意脚本代码进行执行,当用户浏览页面时,嵌入的脚本代码会被执行,达到恶意盗取用户信息,重定向网站等。预防:对输入的数据进行预处理
  16. csrf攻击:指攻击者盗用了用户身份进行伪造发送请求;防御:验证请求来源地址,关键操作加入验证码;请求地址加入token并验证
  17. rabbitmq使用场景:抢购活动,削峰填谷,防止系统崩溃;延迟信息处理,比如10分钟之后给下单未付款地用户发送邮件提醒;解耦系统,对于新增地功能可以单独写模块拓展,如用户确认评价之后新增用户返积分功能,这时不用再业务代码中添加任何功能只需要定越对应消息队列即可
  18. rabbitmq组件:connectionFactory(连接管理器):应用程序与rabbit直接建立连接地管理器,程序代码中使用;channel(信道):消息推送使用的信道;exchange(交换器):用于接受,分配消息;Queue(队列):用于存储生产者的消息;RoutingKey(路由键):用于把生成者的数据分配到交换器上;BindingKey(绑定键):用于把交换器的消息绑定到队列上
  19. rabbitmq消息发送原理:首先客户端需要连接到rabbitmq服务器上面发布消费消息,客户端和rabbit sever之间创建一个tcp连接,一旦tcp打开并通过了认证,客户端就会和rabbitmq创建一个信道,信道事创建在真实tcp上的虚拟连接,信道命令是通过信道消息发送出去的,每个信道都会有唯一的一个id,不论是发布消息还是订阅队列都是通过这个信道完成的。
  20. rabbitmq怎么确保消息稳定性:提供了事务功能,通过将channel设置为confirm模式
  21. rabbitmq避免消息丢失:把消息持久化磁盘,保证服务器重启消息不丢失;将每个集群中至少有一个物理磁盘,保证消息落入磁盘
  22. 声明队列持久化成功条件:声明队列持久化设置durable设置为true;消息推送投递模式设置持久化,deleverable 设置为2;消息已经到达持久化交换器;消息已经到达持久化队列
  23. rabbitmq四种广播类型:direct(默认方式):最基础最简单的模式,发送方把消息发给订阅者,如果有多个订阅者,默认采用轮询的方式进行消息发送;headers:与direct类似,只是性能很差,此类型几乎不用;fanout;分发模式,把消费分发给所有订阅者;topic:匹配定越模式,使用正则匹配到消息队列,能匹配到的都能接收到
  24. rabbitmq实现延迟消息队列实现:通过消息过期后进入死信交换器,再由交换器转发到延迟消息队列,实现延迟功能;通过rabbitmq-delayed-message-exchage插件实现延迟功能
  25. rabbitmq节点类型:磁盘节点:消息会存储到磁盘;内存结点:消息会存在内存当中,重启服务消息丢失,性能高于磁盘
  26. rabbitmq各个节点不是对其他节点的完全拷贝。原因:从存储空间进行考虑,如果每个节点都拥有所有队列的完全拷贝,则新增节点不但没有新增存储空间,反而增加了冗余数据;性能考虑:如果每条消息都需要完整拷贝到每一个集群节点,那新增节点并没有提升处理消息的能力,最多是保持和单节点相同的性能甚至更糟
  27. rabbitmq集群中唯一一个磁盘节点崩溃发生的情况:不能创建队列;不能创建交换机;不能创建绑定;不能添加用户;不能更改权限;不能添加/删除集群节点;出现的情况就是集群可以正常运行,但是不能在更改任何东西
  28. rabbitmq集群节点停止顺序:先关闭内存节点,再关闭磁盘节点;如果顺序相反会造成信息丢失
  29. zookeeper简介:是一个分布式,开源的分布式应用程序协调服务,是google chubby的开源实现,是hadoop 和 hbase 的重要组件。它是一个分布式应用提供一致性服务的软件,提供的功能包括:配置维护,域名服务,分布式同步,组件服务等
  30. zookeeper功能:集群管理:监控节点活跃状态,运行请求等。主节点选举:主节点挂掉后可以从备用节点开始新一轮选主,主节点选举说的就是这个选举过程,使用zookeeper可以协助完成这个设备;分布式锁:zookeeper两种锁:独占锁,共享锁。独占锁即一次只有1个线程使用资源,共享锁是读锁共享,读写互斥,即可以多个线程同时读取同一个资源,如果使用写锁只能有1个线程使用。zookeeper可以对分布式锁进行控制;命名服务:在分布式系统中,通过使用命名服务,客户端应用能够根据名字获取资源或服务地址,提供者信息等。
  31. zookeeper部署模式:单机部署:一个集群上运行;集群部署:多台集群运行;伪集群部署:一台集群启动多个zookeeper实例运行。
  32. zookeeper保证主从节点状态同步:zookeeper核心是原子广播,这个机制保证了各个server之间的同步。实现该机制协议(zab)协议。zab协议两种模式包含恢复模式和广播模式。当服务自动启动或在领导崩溃后,zab进行恢复模式,当领导者选举出来且大多数server完成和leader的状态同步后,恢复模式结束。状态同步保证了leader和server具有相同的系统状态。
  33. 集群主节点作用:在分布式环境当中,有些业务逻辑只需要集群中的某一台机器进行执行,其他机器可以共享这个结果,这样可以大大减少重复计算,提高性能
  34. zookeeper通知机制:客户端对某个znode建立一个watcher事件,当znode发生变化时,这些客户端会收到zookerper通知,然后客户端可以根据znode变化做出业务上改变
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值