首页
学习
活动
专区
工具
TVP
发布

小怪聊职场

专栏成员
115
文章
303465
阅读量
62
订阅数
JVM第二篇:基于Actuator生成HeapDump及基于MAT分析HeapDump
参考我前面的文章Java|使用Spring Boot Actuator监控应用 访问http://localhost:1001/monitor/actuator/heapdump即可生成heapdump文件。
黄小怪
2018-12-27
3.4K0
Java|使用Spring Boot Actuator监控应用
微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题?
黄小怪
2018-12-26
1.4K0
Java|用 GitLab CI 进行持续集成:简介一些概念GitLab Runner.gitlab-ci.yml
从 GitLab 8.0 开始,GitLab CI 就已经集成在 GitLab 中,我们只要在项目中添加一个 .gitlab-ci.yml 文件,然后添加一个 Runner,即可进行持续集成。 而且随着 GitLab 的升级,GitLab CI 变得越来越强大,本文将介绍如何使用 GitLab CI 进行持续集成。
黄小怪
2018-12-24
2.3K0
安全|Java中使用JWT生成Token进行接口鉴权实现
先介绍下利用JWT进行鉴权的思路: 1、用户发起登录请求。 2、服务端创建一个加密后的JWT信息,作为Token返回。 3、在后续请求中JWT信息作为请求头,发给服务端。 4、服务端拿到JWT之后进行解密,正确解密表示此次请求合法,验证通过;解密失败说明Token无效或者已过期。
黄小怪
2018-12-21
3.4K0
JVM第一篇:一个Java内存泄漏的排查案例
最近在看《深入理解Java虚拟机:JVM高级特性与最佳实践》(第二版)这本书,理论+实践结合,深入浅出,强烈推荐给大家。 这两天在“小怪的java群”里面也对JVM内容进行了一个讨论,讨论的内容主要包括如下几个方面: 1)内存溢出和内存泄露的介绍? 2)如何排查和处理内存泄露? 一、内存溢出和内存泄露 一种通俗的说法。 1、内存溢出:你申请了10个字节的空间,但是你在这个空间写入11或以上字节的数据,出现溢出。 2、内存泄漏:你用new申请了一块内存,后来很长时间都不再使用了(按理应该释放),但是
黄小怪
2018-06-06
8.3K0
从数组、链表开始聊聊HashMap的实现原理,据说是阿里面试必问的题(小怪的Java群话题讨论内容)
一、数组和链表介绍 数组和链表是两种基本的数据结构,他们在内存存储上的表现不一样,所以也有各自的特点。 以5位同学去上课时坐座位为例,总结它们的特点和区别。 1.1、数组的特点 数组中5位同学连坐一
黄小怪
2018-05-21
2K0
Java多线程之线程池(ThreadPoolExecutor)实现原理分析(一)
在上一篇文章Java中实现多线程的3种方法介绍和比较中,我们讲解了Java中实现多线程的3种方法。使用多线程,就必须要考虑使用线程池,今天我们来聊聊线程池的那些事。 注:源码都是基于JDK1.8 一、为什么要使用线程池? 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池来达到这样的效
黄小怪
2018-05-21
7880
MySQL(七)|MySQL分库分表的那点事(小怪的Java群第一次话题讨论)
一、何谓分库分表? 把原本存储于一个库的数据分块存储到多个库(主机)上,把原本存储于一个表的数据分块存储到多个表上。 二、为什么要分库分表? 数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大。 另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。 三、分库分表的实施策略 分库分表有垂直切分和水平
黄小怪
2018-05-21
8840
架构|当你在浏览器访问www.taobao.com之后...
一、当你在浏览器访问淘宝 你发现快要过年了,于是想给你的女朋友买一件毛衣,你打开了www.taobao.com。这时你的浏览器首先查询DNS服务器,将www.taobao.com转换成IP地址。不过首先你会发现,你在不同的地区或者不同的网络(电信、联通、移动)的情况下,转换后的IP地址很可能是不一样的,这首先涉及到负载均衡的第一步,通过DNS解析域名时将你的访问分配到不同的入口,同时尽可能保证你所访问的入口是所有入口中可能较快的一个(这和后文的CDN不一样)。 你通过这个入口成功的访问了www.taobao
黄小怪
2018-05-21
1.6K0
Java中实现多线程的3种方法介绍和比较
一、什么是多线程? 引用网上别人的一段话: 单进程单线程:一个人在一个桌子上吃菜。 单进程多线程:多个人在同一个桌子上一起吃菜。 多进程单线程:多个人每个人在自己的桌子上吃菜。 多线程的问题是多个人同时吃一道菜的时候容易发生争抢,例如两个人同时夹一个菜,一个人刚伸出筷子,结果伸到的时候已经被夹走菜了。资源共享就会发生冲突争抢。 使用多线程的优点(相对使用多进程来说): 进程之间不能共享内存,但线程之间共享内存非常容易。 系统创建线程所分配的资源相对创建进程而言,代价非常小。 二、Java中实现多线程的
黄小怪
2018-05-21
6490
安全|常见的Web攻击手段之CSRF攻击
对于常规的Web攻击手段,如XSS、CRSF、SQL注入、(常规的不包括文件上传漏洞、DDoS攻击)等,防范措施相对来说比较容易,对症下药即可,比如XSS的防范需要转义掉输入的尖括号,防止CRSF攻击需要将cookie设置为httponly,以及增加session相关的Hash token码 ,SQL注入的防范需要将分号等字符转义,等等做起来虽然筒单,但却容易被忽视,更多的是需要从开发流程上来予以保障(这句话是给技术管理者的建议),以免因人为的疏忽而造成损失。 一、CSRF介绍 CSRF攻击的全称是跨站请求
黄小怪
2018-05-21
2K0
安全|常见的Web攻击手段之XSS攻击
对于常规的Web攻击手段,如XSS、CRSF、SQL注入、(常规的不包括文件上传漏洞、DDoS攻击)等,防范措施相对来说比较容易,对症下药即可,比如XSS的防范需要转义掉输入的尖括号,防止CRSF攻击需要将cookie设置为httponly,以及增加session相关的Hash token码 ,SQL注入的防范需要将分号等字符转义,等等做起来虽然筒单,但却容易被忽视,更多的是需要从开发流程上来予以保障(这句话是给技术管理者的建议),以免因人为的疏忽而造成损失。 一、XSS介绍 XSS攻击的全称是跨站脚本攻击
黄小怪
2018-05-21
1.2K0
爬虫架构|利用Kafka处理数据推送问题(2)
在前一篇文章爬虫架构|利用Kafka处理数据推送问题(1)中对Kafka做了一个介绍,以及环境搭建,最后是选择使用阿里云的Kafka,这一篇文章继续说使用阿里云的Kafka的一些知识。 一、发布者最佳实践 发布的完整代码(根据自己的业务做相应处理): package com.yimian.controller.kafka; import java.util.Date; import java.util.Properties; import java.util.concurrent.Future; impo
黄小怪
2018-05-21
1.6K0
爬虫课程|利用Python Scrapy进行爬虫开发指南清单
一、背景 人生苦短,我用python。 我原本不是一位爬虫工程师,我的主业是JAVA工程师。但在我上家公司和现在的公司都有设计到爬虫的业务,于是多多少少也参与了一些爬虫的工作。再加上我团队里有两位专职的python爬虫小伙伴,从一个leader的定位来说,在他们遇到问题时我也有指导的义务。 于是... 二、你我约定 如今,如下这些内容,还包括scrapy-redis分布式爬虫我都有一定的实战经验,在考虑要不要花时间把这些内容整理成一套系列课程分享给大家。 如果点赞人数超过20人,你我约定,我开始做这个事。
黄小怪
2018-05-21
1.2K0
Java|Spring+SpringMVC+MyBatis框架科普
本文要讲的内容主要包括三部分: 1、SpringIoC、Spring MVC、Mybatis三大框架在项目中的协作; 2、Spring IoC框架讲解; 3、Spring MVC框架讲解。
黄小怪
2018-05-21
1.1K0
求职|大学毕业如何找到一份10K+月薪的JAVA工程师工作
你可曾计算过,大学四年一共有多少天? 365*3+1=1461天。在这珍贵的1461天里,你为以后的人生做了那些准备? 其他鸡汤我就不写啦,直接说结果。 如果你在大学3或4年掌握了以下知识点,如你不嫌
黄小怪
2018-05-21
7270
Java|网络IO之同步、异步、阻塞、非阻塞
最近在看《大型分布式网站架构-设计与实践》这本书时,文中提到阻塞式IO,其实之前我在看一些书籍时也经常听到同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO这些词。 那么同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别呢? 一、网络IO操作过程 对于一个网络IO (这里我们以read举例),它会涉及到两个系统对象,一个是调用这个IO的过程process (or thread),另一个就是系统
黄小怪
2018-05-21
2.9K3
时光如流,即将成为30岁职场老人的一些思考
时光如流 我今年28岁,是时候告诉自己: 我已经快30岁了,别再羡慕别人的精彩生活了,关上微博和微信,把手机收起来,拿出点时间用来学习、出行和健身。别再沦为网络生活中的看客,永远都只是为别人点赞。 是时候创造我自己精彩的生活了,让别人为自己点赞,然后一直,酷下去。 一、职场上有没有铁饭碗? 铁饭碗 你倘若不试着去学习职场新技能, 去努力做些改变, 那么你终究还是老样子。 我认识一个忘年交,他之前在微软工作。那时候能够进微软真是精英,天之骄子,感觉一辈子都不用愁了,工资高福利好,稳定的
黄小怪
2018-05-21
6170
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档