当前位置: 首页 > news >正文

厂字形网页布局网站网易手游排行榜

厂字形网页布局网站,网易手游排行榜,免费网站制造,质量好网站建设哪家便宜线程池的核心线程数设置为多大比较合理#xff1f; Worker线程在执行的过程中#xff0c;有一部计算时间需要占用CPU#xff0c;另一部分等待时间不需要占用CPU#xff0c;通过量化分析#xff0c;例如打日志进行统计#xff0c;可以统计出整个Worker线程执行过程中这两…线程池的核心线程数设置为多大比较合理 Worker线程在执行的过程中有一部计算时间需要占用CPU另一部分等待时间不需要占用CPU通过量化分析例如打日志进行统计可以统计出整个Worker线程执行过程中这两部分时间的比例例如线程计算和等待的时间是11即有50%的时间在计算占用CPU50%的时间在等待不占用CPU 1假设此时是单核则设置为2个工作线程就可以把CPU充分利用起来让CPU跑到100% 2假设此时是N核则设置为2N个工作现场就可以把CPU充分利用起来让CPU跑到N*100% 结论 N核服务器通过执行业务的单线程分析出本地计算时间为x等待时间为y则工作线程数线程池线程数设置为 N*(xy)/x 也就是 N * (1y/x)能让CPU的利用率最大化, 等待时间越长线程数就可以越多。 30分钟不支付订单自动取消如何来实现 技术方案 定时任务每秒扫库不推荐对数据库的压力比较大Redisson延迟消息的数量少的时候可用MQ RabbitMQ延迟交换机插件RocketMQ延迟消息EMQ 延迟消息 具体的业务逻辑 创建订单完成以后向RabbitMQ的延迟交换机发送延迟30分钟的消息消息中存放了订单的id。 30分钟以后消息到期会从MQ出队消费者收到这个消息以后根据消息中的订单id查询数据 库检查订单的状态如果是已经支付什么事情也不需要做如果是未支付则把订单状态 修改成已取消。项目中用过AOP吗如何用的AOP底层的实现原理 如何来使用 Datasource做数据源切换Log记录用户的操作日志Lock 分布式锁 实现原理 springboot 2.0之前目标类如果实现了接口则使用JDK动态代理方式否则通过CGLIB子类的方式生成代理。springboot 2.0版本之后如果不在配置文件中显示的指定spring.aop.proxy-tartget-class的值默认情况下生成代理的方式为CGLIB Transantional失效的场景中this内部调用会失效的解决办法 EnableAspectJAutoProxy(exposeProxy true) AopContext.currentProxy()Lazy 注入bean本身 Servicepublic class AopService {AutowiredLazyprivate AopService selfService;public void f1(){// f2()的事务会失效this.f2();// 第一种方式AopService aopService (AopService)AopContext.currentProxy();aopService.f2();// 第二种方式selfService.f2();}Transactional(rollbackFor Exception.class)public void f2(){log.info(some business logic in f2());}}项目中的安全是如何来做的项目如何防止sql注入攻击、xss攻击CSRF漏洞 防止xss主要就是对一些特殊字符做替换。 我们是写了一个Filter在Filter中会把原始的HttpServletRequest替换成我们自定义的一个Request我们在这个自定义的Requst中去做了特殊字符的替换主要是替换掉比如 防止sql注入主要就是使用SQL的预编译。 有没有遇到过OOM生产环境内存溢出怎么处理 1导出JVM内存映像 当发生内存溢出的时候自动导出需要添加jvm的启动参数 -XX:HeapDumpOnOutOfMemoryError-XX:HeapDumpPath./手动导出 jmap -dump:formatb,fileheap.hprof [pid]2)使用MAT之类的工具分析内存泄漏的原因 Histogram 查看某个对象的数量Dominator Tree查看某个对象占的内存大小以及引用关系Top Consumers查看占内存最大的对象 生产环境CPU利用率(负载load)500%如何处理 ps -ef | grep java 找到你的java进程top -Hp pid 找到耗cpu高的线程printf %x 十进制转化成16进制jstack pid 打印线程堆栈在堆栈中找到cpu高的线程 Excel导出几十万条记录超时怎么办 客户端点击导出按钮以后服务端记录一个日志状态是待处理给客户端返回日志的id然后服务端异步做excel的导出完成以后把excel上传到oss把下载的url地址记录到日志并把日志的状态改成已完成。 客户端拿到这个id以后可以到服务端的一个单独的页面上做查询如果是已完成则可以点击下载按钮去下载excel。 十万个修改数据同时来了,十万个新增数据 MQ削峰 请求先放到MQ给客户端返回正在排队中…客户端起定时任务向服务端轮询执行结果 Redis预减 //请求url/miaosha/product/12234 //服务端controller PostMapping(“/product/miaosha/{productId}”) public boolean miaosha(PathVariable(“productId”) long productId){ // 秒杀活动开始之前把商品id和商品的库存数量加载到redis中key:商品idvalue:库存数量 // redis预减库存让1万个人去抢数据库中的10个商品是没有意义的只让10个人去抢就可以了 int count redisTemplate.decr(“”productId); if(count 0){ // 秒杀失败 return false; } //预减成功以后 再放入MQ返回给前端排队中 kafkaTemplate.send(productId); // 从MQ收消息下单SQL中要加上stock0的判断防止把库存扣成负数 select * from product where id #{productId} //version int ret update product set stockstock-1 where id #{productId} and stock0 if(ret 0){ // 秒杀成功生成订单 return true; }else{ // 秒杀失败 return false; } } 验证码非常复杂防止机器人刷接口减少瞬间的并发 活动开始之前换接口换页面防机器人 回仓 卖不完是允许的卖超是不允许的 参考秒杀功能 有没有搭建过ES的集群 主要就是设置了每一个节点的名称、集群的名称、启动的端口、数据存储路径以及其他节点的IP和端口集群名称一样的话他们就能组成一个集群。 services:es01:image: elasticsearch:7.12.1container_name: es01environment:- node.namees01- cluster.namees-docker-cluster- discovery.seed_hostses02,es03- cluster.initial_master_nodeses01,es02,es03- ES_JAVA_OPTS-Xms512m -Xmx512mvolumes:- data01:/usr/share/elasticsearch/dataports:- 9200:9200networks:- elasticjdk8为啥要用红黑树 红黑树是一种自平衡二叉搜索树因此查找和插入操作的时间复杂度为 O(log n)而链表的时间复杂度为 O(n)。在哈希冲突比较严重的情况下使用红黑树能够更快地进行搜索和插入操作。 红黑树是”近似平衡“的。红黑树相比avl树在检索的时候效率其实差不多都是通过平衡来二分查找。但对于插入删除等操作效率提高很多。红黑树不像avl树一样追求绝对的平衡他允许局部很少的不完全平衡这样对于效率影响不大但省去了很多没有必要的调平衡操作avl树调平衡有时候代价较大所以效率不如红黑树在现在很多地方都是底层都是红黑树的天下啦。红黑树的高度只比高度平衡的AVL树的高度log2n仅仅大了一倍在性能上却好很多。HashMap在里面就是链表加上红黑树的一种结构这样利用了链表对内存的使用率以及红黑树的高效检索是一种很happy的数据结构。AVL树是一种高度平衡的二叉树所以查找的效率非常高但是有利就有弊AVL树为了维持这种高度的平衡就要付出更多代价。每次插入、删除都要做调整就比较复杂、耗时。所以对于有频繁的插入、删除操作的数据集合使用AVL树的代价就有点高了。红黑树只是做到了近似平衡并不严格的平衡所以在维护的成本上要比AVL树要低。所以红黑树的插入、删除、查找各种操作性能都比较稳定。对于工程应用来说要面对各种异常情况为了支撑这种工业级的应用我们更倾向于这种性能稳定的平衡二叉查找树。 ES如何与Mysql数据保持一致 ES与MySQL的数据同步分成了3部分 全量同步 系统上线之前首先会做一次全量同步把mysql中的数据批量的导入到ES中。增量同步 常见的增量同步的方式有很多比如 同步双写 耦合严重性能问题 异步双写 松耦合依赖MQ的可靠性有可能丢消息 监听binlog 无耦合技术门槛比较高 我们的系统中是使用的基于MQ的异步双写来实现数据同步的具体来说当mysql数据发生变化的时候会向MQ中发一个消息然后我们的搜索服务会接收这个消息根据消息中的数据Id构造出完整的数据然后同步到ES中。 定时任务全量同步 为了提高MQ的性能我们没有对消息的可靠性做特殊处理因此理论上会存在消息丢失导致数据不一致的风险所以我们有一个定时任务每周会把mysql中的数据全量的再导入一次ES如果这中间发现不一致人工手动处理。 linux跑了两个docker容器怎么让两个docker进行通讯 两个容器都使用host网络模式就可以使用主机的ip和端口进行通信 // 启动两个容器docker run --name d1 --networkhost -e port8081 -d demodocker run --name d2 --networkhost -e port8082 -d demo// 进入d1容器执行telnet命令docker exec -it d1 shtelnet 192.168.137.138 8082 GET /demo 正常输出两个容器连接到同一个网络模式是bridge的自定义网络上可以使用容器名进行通信 docker network create mynet// 启动两个容器docker run --name d3 --networkmynet -e port8083 -d demodocker run --name d4 --networkmynet -e port8084 -d demo// 进入d3容器执行telnet命令docker exec -it d3 shtelnet d4 8084GET /demo 正常输出测试用的Dockerfile和接口如下 //DockerfileFROM java:8-alpineCOPY ./demo.jar /tmp/app.jarENV port 8080EXPOSE $portENTRYPOINT java -Dserver.port$port -jar /tmp/app.jar// 接口RestControllerpublic class DemoController {GetMapping(/demo)public String demo() {return demo;}}//docker-compose.ymlversion: 3.9services:d1:image: demoenvironment:port: 8081ports:- 8081:8081container_name: d1hostname: d1d2:image: demoenvironment:port: 8082ports:- 8082:8082container_name: d2hostname: d2
http://www.zqtcl.cn/news/109170/

相关文章:

  • 长宁长沙网站建设域名网站
  • 太原自助建站系统公司网站建设合同书
  • 购买深圳网站定制开发重庆学校网站建设
  • 站长素材音效下载重庆市建设工程信息网综合网
  • 网络营销专业就业方向wordpress插件dx-seo
  • 义乌有什么企业网站吗大良企业网站建设
  • 外链网站推荐几个html5标准网站建设
  • 博星卓越营销网站设计古镇镇建网站公司
  • 3. 是网站建设的重点网站后台添加关键词
  • 免费手机网站模板下载百度网站建设北京
  • 爱用建站建设网站的报告
  • 网站关键字被百度收录网站开发asp.net
  • 内部卷网站怎么做的h5在线编辑器
  • 搞定设计网站做的图怎么下载不了网站死链接怎么删除
  • 济南企业建站怎么样在pc端预览手机网站
  • c 手机网站开发模板最好的建站网站
  • 防城港市网站建设成功网站建设案例
  • 成都公司网站制作公司实验一 电子商务网站建设与维护
  • 即墨区城乡建设局网站300m空间够用吗 wordpress
  • 成都软件开发培训机构7个湖北seo网站推广策略
  • 嘉定企业网站建设深圳网站制作费用
  • 外贸网站有必要吗wordpress远程保存图片
  • 苏州吴中网站建设wordpress中文版安装教程
  • wordpress 网站静态页面赶集网网站建设分析
  • 伊春网站开发大型网站建设兴田德润专业
  • 温州平阳县营销型网站建设榆林做网站
  • 沽源网站建设娄底网站建设工作室
  • 商场网站 策划医疗网站是否全部需要前置备案
  • 电商网站开发实训心得wordpress网络验证
  • 美图网seo 优化技术难度大吗