Amp

2020Java面试试题及答案(基础部分)

与世无争的帅哥 提交于 2020-11-01 14:44:00
世人慌慌张张,不过图碎银几两。偏偏这碎银几两,能解世间万种慌张。最近实在揭不开锅了,有了换工作的想法,网上整理了部分Java基础面试题,好东西要拿出来分享。好了不多说了进入正题。 如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加我们的扫描二维码,各种面试资料简历模板免费送! 1、面向对象的三个特征 封装(即包装或隐藏): 封装从字面上来理解就是包装的意思,专业点就是信息隐藏。它指的是将对象的数据、状态信息和对数据的操作方法及细节隐藏在对象内部, 不允许外部程序直接访问对象的内部信息或直接对对象进行操作,而是向外提供一些安全可靠的方法供外部程序对对象进行安全的访问和操作。 好处: 隐藏信息和实现细节 可以对成员进行更精确的控制,限制对对象的不合理访问 便于修改,提高代码的可维护性 良好的封装能够减少耦合 继承: 使用现有的类的所有功能,并无须重新编写原来的这些类的基础上对这些功能进行扩展(可以增加新的数据或新的功能)。 特点: 子类拥有父类非private的属性和方法 子类可以拥有自己属性和方法,即子类可以对父类进行扩展 子类可以重写父类已实现的方法 多态: 所谓多态就是一个实例的相同方法在不同的情形下有不同的表现形式,即程序中定义的引用变量所指向的具体类型和通过引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定

FastJson 又被爆出漏洞,是时候抛弃了

独自空忆成欢 提交于 2020-11-01 06:24:26
点击“ 开发者技术前线 ”,选择“星标🔝” 在看|星标|留言, 真爱 链接 :urlify.cn/iYN3Uj 回 复“666” 获取一份专属大礼包 2020年05月28日, 360CERT监测发现业内安全厂商发布了Fastjson远程代码执行漏洞的风险通告,漏洞等级:高危。 Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。 Fastjson存在远程代码执行漏洞,autotype开关的限制可以被绕过,链式的反序列化攻击者精心构造反序列化利用链,最终达成远程命令执行的后果。此漏洞本身无法绕过Fastjson的黑名单限制,需要配合不在黑名单中的反序列化利用链才能完成完整的漏洞利用。 截止到漏洞通告发布,官方还未发布1.2.69版本,360CERT建议广大用户及时关注官方更新通告,做好资产自查,同时根据临时修复建议进行安全加固,以免遭受黑客攻击。 0x02 风险等级 360CERT对该漏洞的评定结果如下 评定方式 等级 威胁等级 【高危】 影响面 【广泛】 0x03 影响版本 Fastjson:<= 1.2.68 0x04 修复建议 临时修补建议: 升级到Fastjson 1.2.68版本,通过配置以下参数开启 SafeMode 来防护攻击

系统蜜罐opencanary部署

孤人 提交于 2020-10-31 09:55:53
【pre:】 CentOS release 6.10 |Python 2.6.6 step1:安装 git #yum install git step2:安装依赖 yum install gcc python-devel zlib-devel zlib openssl openssl-devel setp3:pip安装(python2.6安装pip) #wget https://bootstrap.pypa.io/2.6/get-pip.py #python get-pip.py step4:沙盒安装 #pip install virtualenv step5:下载&安装python2.7 #wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz # tar xvf Python-2.7.8.tgz #cd Python-2.7.8 # ./configure --prefix=/usr/local/python/py278/ --with-zlib # make && make install step6:安装主程序依赖twist #cd /opt # virtualenv py278 --python=/usr/local/python/py278/bin/python2.7 # . py278/bin

UCMap移动GIS & 时空地图GIS

有些话、适合烂在心里 提交于 2020-10-31 09:26:24
UCMapViewer是基于UCMap(OpenGL版)的通用地图开发框架,涵盖了各类GIS数据的展示、查询、编辑、分析等各项功能 ( http://www.creable.cn/kuibu/xiazai.asp ) ,开发者可根据自己的应用需求来定制修改 时空地图 TimeGIS 6.1 时空地图 TimeGIS 6.1 是一个地理信息系统软件,它可以显示网络地图,编辑ArcGIS的SHP矢量文件格式,导入DXF/DWG文件,显示NETCDF等栅格文件,管理图层等。 在它的基础上,可以二次开发各种GIS应用,如历史GIS,土地GIS,水利GIS,交通GIS,GPS软件,气象GIS等等。 快手软件,得心应手。 放大显示 TimeGPS软件 TimeGPS是一个GPS教学软件,提供地图显示,路径编辑与测量,路径规划,地图匹配等功能。 放大显示 快手 KSCAD 5.0 快手 KSCAD 5.0 是一款简单易用的矢量绘图软件,其功能和Visio类似,可以绘制工艺流程图,流程图、组织结构图、网络拓扑图、思维导图、商业图表等。 可应用于各种领域的图形化建模仿真,如CAD,科学可视化,工控人机界面,组态软件,网络监控,化工流程模拟,工作流软件,程序化交易软件等等。 快手软件,得心应手。 快手软件绘制的上海轨道交通网络示意图 (放大显示) 快手数控仿真软件 快手数控仿真软件,可以读取显示

MYSQL锁表问题的解决方法

安稳与你 提交于 2020-10-31 00:51:17
<div id="content"> <p>本文实例讲述了MYSQL锁表问题的解决方法。分享给大家供大家参考,具体如下:</p> <p>很多时候!一不小心就锁表!这里讲解决锁表终极方法!</p> <p><strong>案例一</strong></p> <div class="jb51code"> <pre class="brush:sql;">mysql>show processlist; </pre> </div> <p>参看sql语句<br> </p> <p>一般少的话<br> </p> <div > <pre class="brush:sql;">mysql>kill thread_id; </pre> </div> <p>就可以解决了<br> </p> <p>kill掉第一个锁表的进程, 依然没有改善. 既然不改善, 咱们就想办法将所有锁表的进程kill掉吧, 简单的脚本如下.<br> </p> <div > <pre class="brush:sql;">#!/bin/bash mysql - u root - e " show processlist " | grep - i " Locked " >> locked_log . txt for line in ` cat locked_log.txt | awk '{print $1 }' ` do echo "

ActiveMQ集群

一个人想着一个人 提交于 2020-10-30 08:54:46
1 ActiveMQ消息集群    1.1 集群方式     客户端集群:让多个消费者消费同一个队列     Broker Clusters:多个Broker之间同步消息,实现负载均衡,但是没有高可用     Master Slave:实现高可用,但是没有负载均衡   1.2 客户端集群配置     ActiveMQ失效转移(failover):允许当其中一台消息服务器宕机时,客户端在传输层上重新连接到其它消息服务器,语法为:failover:(uri1,...,uriN)?transportOptions       transportOptions参数说明:       randomize默认为ture,表示在URI列表中使用URI连接时是否采用随机策略       initialReconnectDelay默认为10,单位毫秒,表示第一次重新连接的等待时间       maxReconnectDelay默认为3000,单位毫秒,表示最长重新连接的等待时间   1.3 Broker Cluster集群配置     NetworkConnector(网络连接器):主要用于配置ActiveMQ服务器与服务器之间的网络通讯方式,用于服务器透传消息;分为动态连接器和静态连接器     静态连接器如:       <networkConnectors>         

FPGA学习之路—接口(3)—SPI详解及Verilog源码分析

霸气de小男生 提交于 2020-10-30 04:43:19
本文以SPI Master控制器为例来对Verilog源码进行分析,参考资料为《VERILOG HDL应用程序设计实例精讲》,仅供学习参考,项目在文章末尾给出下载链接。 FPGA学习之路——SPI详解及Verilog源码分析 概述 SPI = Serial Peripheral Interface,是串行外围设备接口,是一种高速,全双工,同步的通信总线。 优点 支持全双工 支持高速 协议支持字长不限于8bit,可以根据应用灵活选择消息字长。 硬件连接简单 缺点 相比I2C多两条线 没有寻址机制,只能靠片选选择不同的设备 没有回应ACK机制,主设备不知道消息发送是否成功 典型应用仅支持单主控 硬件结构 信号定义 SCK:Serial Clock,时钟信号,由主设备产生。 MOSI:Master Output,Slave Input 主发从收信号。在片选信号有效时,数据由高位到低位,在时钟的上升沿依次发送给从设备。 MISO:Master Input,Slave Output 主收从发信号,在片选信号有效时,数据由高位到低位,在时钟的上升沿依次发送给主设备。 SS/CS:Slave Select 片选信号,低有效,由主设备控制。即只有片选信号为预先规定的使能信号时,对应的芯片操作才有效,这使得在同一总线上连接多个SPI设备成为可能。 电路连接 单个主设备和单个从设备:

leetcode538(把二叉搜索树转换为累加树)--C语言实现

拈花ヽ惹草 提交于 2020-10-29 07:20:52
求: 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 例如: 输入: 原始二叉搜索树: 5 / \ 2 13 输出: 转换为累加树: 18 / \ 20 13 注意:本题和 1038: https://leetcode-cn.com/problems/binary-search-tree-to-greater-sum-tree/ 相同 解: 思路:反向中序遍历,记录前面出现的所有节点的值的和,加入到当前节点。递归操作完成后,返回根节点的指针。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ void convert( struct TreeNode* root, int * sum){ if (root==NULL) return ; convert(root->right,sum); *sum += root->val; root->val = *sum; convert(root->left,sum); } struct TreeNode*

使用代码片段的正确姿势,打造高效的vscode开发环境

霸气de小男生 提交于 2020-10-29 04:53:25
全文3928字,阅读时间 10分钟,未来节约时间 15分钟/每天 代码片段(code snippet) 相信大家都或多或少有接触过。 在完成一个项目以后,往往都会写出许多有价值的代码,或是 绞尽脑汁解决的难题 ,或是 灵光一现的小技巧 ,又或是需要给组里的人 分享经验,分享代码 。 对于我而言,我有时确实会把足够酷炫或者自豪的项目封装成一个包(例如npm或者是nuget等等),但面对粒度再小一点的一个function甚至是一行代码就不太合适了。 我自己遇到困难的几个场景 electron-builder 打包后,为了修改electron国内镜像下载地址,往往会配置vue.config.js。这个地址很长一段时间都不会变,包括这个配置的结构等主要内容其实都不太会变,每次要写的时候都会忘记,在找了好一会之前写的代码后,终于找到了之前的配置文件, 复制-粘贴 我的vue项目中会使用vuetify,而vuetify的各种配置都会写在一起,说复杂也不复杂,但我没有记,每次都是用到的时候打开官网然后, 复制-粘贴 还有一些其他配置文件,例如 axios,echart,signalr等配置文件,大部分情况下都不需要修改,直接, 复制-粘贴 .... 为了能够减少以上重复工作,提高效率,我也尝试过不少办法 制作 项目模板 ,使用vue init 来初始化项目 使用 github gist

tcp连接时,BROKEN PIPE错误的原因以及解决方法

跟風遠走 提交于 2020-10-29 01:41:05
tcp连接时,BROKEN PIPE错误的原因以及解决方法 问题: 写了一个server和一个client,UNIX套接字的,server不断接收消息并打印出来,client是一个交互程序,输入一个消息回车发送,接着又可以输入消息。 出问题了: 当server监听着,client第一次发送消息成功,server接收并打印出来了。 client第二次发送消息没成功并且结束程序了,server没接收到消息,保持继续监听。 我用GDB调试时,发现client第二次发送消息时,client收到SIGPIPE(Broken Pipe)信号。server明明还监听着,而且再次启动client还是第一次成功,第二次失败退出。 同样的,当client因为断开(关闭了网络描述符sfd,或者ctrl+c/ctrl+\异常断开),server端也产生SIGPIPE信号。 分析: TCP协议是端到端的传输控制协议,之所以是“端到端”的协议,是因为”路由“是由IP协议负责的,TCP协议负责为两个通信端点提供可靠性保证,这个可靠性不是指一个端点发送的数据,另一个端点肯定能收到(这显然是不可能的),而是指,数据的可靠投递或者故障的可靠通知。 所谓的“端到端”,指的是在通信两端之间建立了一个 全双工 的通信 管道 ,既然是管道,就不得不了解管道。 管道的特点: 管道是半双工的,数据只能向一个方向流动