谈谈面试中常问的I/O模型
一、IO介绍1.1 Java中IO的分类以下部分源自网络相关资料。IO按照处理的数据类型可分为:(1)面向字节操作的I/O接口:inputStream,outputStream(2)面向字符操作的接口:Reader,WriterIO按照数据的传输方式可分为:(1)面向磁盘操作的I/O接口:File(2)面向网络操作的I/O接口:Socket1.2 Unix中的五种IO模型以下分类...
2024-01-10昨天微信的一道面试题,求解
题目是: 有A B C D 4个候选元素,2个元素展示位。写一个推荐程序,每一次选择2个不同的元素去展示。要求多次推荐后,A B C D推荐次数出现的比例趋近4:3:2:1。元素出现越随机越好。注意是两个不同的元素。回答:P(X1 X2)为出现组合X1,X2的概率则有:P(AB) + P(AC) + P(AD) = 4/10P(AB) + P(BC) + P(BD) = 3/10P(AC) + P(BC) +...
2024-01-10面试题合集(持续更新中。。。)
1.Redis缓存的删除策略算法FIFO First in First out 先近先出。删除进入redis最早的key。LRU Least Recently Used 最近最早被使用。删除最近一段时间内,被使用过的使用时间离现在最远的key。LFU Least Frequently Used 最近最不经常使用。删除最近一段时间内,使用频率最少的key。具体策略,当有新key要写入却...
2024-01-10一个面试题,求解答
#include <iostream>using namespace std;class Myclass{public: Myclass():i(0){}; void f1(){cout<<"f1"<<endl;} void f2(){cout<<i<<endl;}private: int i;};int main(){ Myclass *p = NULL; // f1 p->f1(); // error p->f2(); return 0;}如注...
2024-01-10[CSS面试题] 如何使得左右两边没有确定宽度的元素保持其中文本的自适应
需要实际的代码, 而不是解题思路 :<div class="bg"><div><span>文案文案文案文案文案文案文案文案文案文案文案文案文案文案</span></div><div><button>按钮按钮</button></div></div>回答 <style type="text/css"> .bg { display: flex; justify-content: space-between; } .rig...
2024-01-10vue 点击其他区域关闭自定义div操作
方法一: 在外层div添加事件 @click="closeSel"htmlmethod closeSel(event){ var currentCli = document.getElementById("sellineName"); if(currentCli ){ if(!currentCli.contains(event.target)){ //点击到了id为sellineName以外的区域,隐藏下拉框 this.listLineUl = false; } } }方...
2024-01-10详解 PHP 中 Header 头文件标头
标头 (header) 是服务器以 HTTP 协义传 HTML 资料到浏览器前所送出的字串,在标头与 HTML 文件之间尚需空一行分隔。在 PHP 中送回 HTML 资料前,需先传完所有的标头。header() 函数向客户端发送原始的 HTTP 报头。认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 PHP 4 以及更高...
2024-01-10记一次MySQL的优化案例
一 背景 有赞的每个OLTP数据库实例上会设置一个sql-killer进程用于kill 掉执行时间超过一定阈值的sql。下午开发接收到sql被kill的报错,一起帮助开发排查,本文介绍该案例。二 场景分析表结构:CREATE TABLE `xxx_info` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', `user_id` bigint(20) unsigned NOT ...
2024-01-10js实现轮播图效果 纯js实现图片自动切换
本文实例为大家分享了纯js实现图片自动切换的具体代码,供大家参考,具体内容如下1.鼠标经过的时候左右两个小按钮会自动弹出,自动播放停止,点击左右小按钮可以切换图片;2. 鼠标离开,恢复自动播放;3. 点击下方中间几个小圆圈,也会自动切换图片;源代码:<!DOCTYPE html><html lang="en">...
2024-01-10spring中bean id相同引发故障的分析与解决
前言最近因为同事bean配置的问题导致生产环境往错误的redis实例写入大量的数据,差点搞挂redis。经过快速的问题定位,发现是同事新增一个redis配置文件,并且配置的RedisSentinelConfiguration的id是一样的,然后在使用@Autowired注入bean的时候因为spring bean覆盖的机制导致读取的redis配置不是原来的。总结起...
2024-01-10Java方法反射实现原理详解
博主说:Java 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为 Java 语言的反射机制。在本文中,占小狼分析了 Java 反射机制的实现原理(源码),感兴趣的同学...
2024-01-10maven如何在tomcat8中实现自动部署
本文介绍了maven如何在tomcat8中实现自动部署,分享给大家,具体如下:1、首先需要有tomcat,并且配置好用户。配置的地方在tomcat的config文件中的tomcat-users.xml文件中<role rolename="manager"/> <role rolename="manager-gui"/> <role rolename="admin"/> <role rolename="admin-gui"/> <user username="tomcat" password="tom...
2024-01-10Java中线程的基本方法使用技巧
java中线程的基本方法的熟练使用是精通多线程编程的必经之路,线程相关的基本方法有wait,notify,notifyAll,sleep,join,yield等,本文浅要的介绍一下它们的使用方式。线程的状态图java将操作系统中的就绪和运行两种状态统称为可运行状态,java中线程的状态可以认为有以上六种。wait调用该方法的...
2024-01-10Java Reference源码解析
Reference对象封装了其它对象的引用,可以和普通的对象一样操作,在一定的限制条件下,支持和垃圾收集器的交互。即可以使用Reference对象来引用其它对象,但是最后还是会被垃圾收集器回收。程序有时候也需要在对象回收后被通知,以告知对象的可达性发生变更。 Java提供了四种不同类型的引用,...
2024-01-10剖析Java中HashMap数据结构的源码及其性能优化
存储结构首先,HashMap是基于哈希表存储的。它内部有一个数组,当元素要存储的时候,先计算其key的哈希值,根据哈希值找到元素在数组中对应的下标。如果这个位置没有元素,就直接把当前元素放进去,如果有元素了(这里记为A),就把当前元素链接到元素A的前面,然后把当前元素放入数组中。所以...
2024-01-10学习Java中的日期和时间处理及Java日历小程序的编写
Java 在 java.util 包中提供了 Date 类,这个类封装了当前的日期和时间。Date 类支持两种构造函数。第一个构造函数初始化对象的当前日期和时间。Date( )下面的构造函数接收一个参数等于自1970年1月1日午夜起已经过的毫秒数Date(long millisec)一旦有一个可用的日期对象,可以调用以下任何一种支持的方...
2024-01-10javaweb实战之商城项目开发(三)
接着上一篇《javaweb实战之商城项目开发(二)》这一篇主要实现通用的BaseDao.java和使用resultMap映射关联对象一.通用的BaseDao.java既然要大家都能用,所以使用了泛型.其中要注意的问题就是类似User.getClass().getName()这样的代码是需要修改的.修改方法就是使用参数Class tc传递过来,然后在使用tc.getName()即可....
2024-01-10java定时任务的实现方式
在开发测试工具的应用后台,经常听到同事说要做个定时任务把做日志处理,或者数据清理,包括做些复杂的业务计算逻辑,在选择定时任务的时候,怎么能够快速实现,并且选择一种更适合自己的方式呢? 我这里把定时任务的实现收集整理了一些方法,希望可以帮到刚开始做定时任务的同学,写得...
2024-01-10java实现折半排序算法
折半插入排序(binary insertion sort)是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中。由于前半部分为已排好序的数列,这样我们不用按顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度。public static void halfSort(int[] array) { ...
2024-01-10JAVA多线程和并发基础面试问答(翻译)
Java多线程面试问题 1. 进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻...
2024-01-10CDK:一款针对容器场景的多功能渗透工具
作者: CDK-Team项目地址:https://github.com/cdk-team/CDK/CDK是一款为容器环境定制的渗透测试工具,在已攻陷的容器内部提供零依赖的常用命令及PoC/EXP。集成Docker/K8s场景特有的 逃逸、横向移动、持久化利用方式,插件化管理。场景介绍伴随着容器技术的快速发展,容器安全问题也逐渐成为企业所关注的话...
2024-01-10新攻击新武器:盲眼鹰 APT 组织最新攻击活动完全分析
作者:启明星辰 ADLab公众号:https://mp.weixin.qq.com/s/T15pdznZZ4ZsVVpcKrWlnQ一、概述启明星辰ADLab实验室在近几个月内,通过威胁情报检测系统接连捕获到多起针对哥伦比亚国家的政府部门,金融、银行、保险等行业及卫生和制药机构发起的钓鱼邮件定向攻击。攻击者以“冠状病毒检测紧急告知单”或“刑...
2024-01-10Nexus Repository Manager 2.x 命令注入漏洞 (CVE-2019-5475) 两次绕过
作者: Badcode and Longofo@知道创宇404实验室 时间: 2020年2月9日 English Version:https://paper.seebug.org/1261/ 前言2019年9月初我们应急了Nexus Repository Manager 2.x 命令注入漏洞(CVE-2019-5475),其大致的原因和复现步骤在 hackerone 上公布了,在应急完这个漏洞之后,我们分析该漏洞的修复补丁,发现修复不完全,仍然可...
2024-01-10对称加密与攻击案例分析
作者:evilpan 原文链接:https://evilpan.com/2019/06/02/crypto-attacks/ 本文为作者投稿,Seebug Paper 期待你的分享,凡经采用即有礼品相送! 投稿邮箱:paper@seebug.org 本文主要介绍常见的对称加密算法和它们的原理,然后分析一些实际存在的密码学攻击案例,包括流加密密钥重用漏洞、ECB块重排攻击以及CBC的Pa...
2024-01-10函数后面的形参char *与指针*的问题
好几个月没摸书了,最近摸起来,看到《Objective-c编程》第8章地址与指针时,又跌进一个坑里,求解答:直接看代码(先贴一段第5章函数里的代码)#include<stdio.h>void congratulateStudent(char *student, char *course, int numDays){ printf("%s has done as much %s programming as i could fit into %d days.\n", student, co...
2024-01-10