- 博客(15)
- 收藏
- 关注
原创 k8s 重启策略、健康检查、环境变量、初始化容器
root@master ~]# kubectl get pod -o wide -w #-w实时监控,在node2上面用docker命令关上其中一个,发现不会重启。livenessProbe(存活检查)︰如果检查失败,将杀死容器,根据Pod的restartPolicy来操作。restartPolicy: Never #默认的话不用修改,改为never后停止容器不会重启。OnFailure:当容器异常退出(退出状态码非0)时,才重启容器。Always:当容器终止退出后,总是重启容器,默认策略。
2024-12-08 18:06:46
1112
原创 K8s Kubernetes介绍
Replication Controller 保证了在所有时间内,都有特定数量的Pod副本正在运行,如果太多了,Replication Controller就杀死几个,如果太少了,Replication Controller会新建几个,和直接创建的pod不同的是,Replication Controller会替换掉那些删除的或者被终止的pod,不管删除的原因是什么(维护阿,更新啊,Replication Controller都不关心)。其次,Kubernetes中的Volume中的数据也不会丢失。
2024-12-08 18:04:46
1155
原创 JVM字符串常量池及String的intern方法详解?
JDK6及之前版本,字符串常量池是放在Perm Gen区(方法区)中。StringTable的长度是固定的,长度是1009,当String字符串过多时会造成hash冲突,导致链表过长,性能大幅度下降。此时字符串常量池里面放的全部是字符串常量(字面值)。由于永久代的空间有限且固定,JDK6的存储模式很容易造成OutOfMemoryError。而JDK7时正在着手去永久代的工作,因此字符串常量池被放在了堆中。此时,即使堆的大小也是固定的,但对于应用调优工作,只需要调整堆大小就行了。
2024-12-08 18:02:45
757
原创 JVM基础知识(一)jvm内存结构_10
采用垃圾回收器GC统一进行内存管理, GC会在某些特定的时间点对所有分配的堆内内存进行扫描并回收, 这个过程会对java应用程序的性能造成一定影响, 还可能会产生Stop The World。class文件中存在非运行时常量池(编译阶段即已确定), JVM规范对class文件结构有严格规范, 必须符合此规范的class文件才会被JVM认可和装载。直接内存既不是虚拟机内存的一部分, 也不是java虚拟机规范定义的内存区域 (如jdk1.4新加入的NIO)当前线程所执行的字节码的行号指示器。
2024-12-08 18:00:45
956
原创 JVM【类加载与GC垃圾回收机制】_jvm 增加gc自动回收
● 如果线程请求的栈深度大于虚拟机所允许的最大深度,会抛出StackOverFlow异常● 如果虚拟机在拓展栈时无法申请到足够的内存空间,则会抛出OOM异常出现StackOverflowError异常时有错误堆栈可以阅读,比较好找到问题所在。如果使用虚拟机默认参数,栈深度在多多数情况下达到1000-2000完全没问题,对于正常的方法调用(包括递归),完全够用如果是因为多线程导致的内存溢出问题,在不能减少线程数的情况下,只能减少最大堆和减少栈容量的方式来换取更多线程。
2024-12-08 17:58:45
714
原创 JVM 虚拟机栈详解
另外一种退出方式是,在方法执行过程中遇到了异常,并且这个异常没有在方法体内得到处理,无论是Java虚拟机内部产生的异常,还是代码中使用athrow字节码指令产生的异常,只要在本方法的异常表中没有搜索到匹配的异常处理器,就会导致方法退出,这种退出方法的方式称为异常完成出口(Abrupt Method Invocation Completion)。当一个方法刚刚开始执行的时候,这个方法的操作数栈是空的,在方法的执行过程中,会有各种字节码指令向操作数栈中写入和提取内容,也就是入栈出栈操作。
2024-12-08 17:56:44
588
原创 JVM 君,你是不是过分了???_allocation failure频繁
但是我学的时候才知道:JVM,你太过分了,太难学了!我的学习过程可以说非常坎坷,不过经历坎坷之后,我倒是发现学 JVM 的门道很多。所谓的精准学习,就是学习对自己工作有巨大帮助的知识点。以工作内容带动学习,等到积累多了,再一举攻克所有 JVM 知识点,最终熟练掌握 JVM 底层原理。下面我来说说初级、高级、资深程序员,如何循序渐进、分步学习。
2024-12-08 17:54:44
352
原创 JQuery相关实例应用
【5本26.8元】经典儿童文学彩图青少版八十天环游地球中学生语文教学大纲¥12.60¥12.60【2000张贴纸】贴纸书 3-6岁 贴画儿童 贴画书全套12册 贴画 贴纸儿童 汽¥24.80¥24.80唐诗三百首+成语故事全2册 一年级课外书 精装注音儿童版 小学生二三年级课外阅读书籍¥29.80¥29.80结算模块全选已经选1件商品总价:¥12.60去结算。
2024-12-08 17:50:43
1124
原创 jQuery 选择器
(“p”) 选取元素。$(“p.intro”) 选取所有 class=“intro” 的元素。$(“p#demo”) 选取所有 id=“demo” 的元素。jQuery 属性选择器jQuery 使用 XPath 表达式来选择带有给定属性的元素。$(“[href]”) 选取所有带有 href 属性的元素。$(“[href=‘#’]”) 选取所有带有 href 值等于 “#” 的元素。$(“[href!=‘#’]”) 选取所有带有 href 值不等于 “#” 的元素。
2024-12-08 17:48:42
531
原创 JDK安装教程
(1)点击系统变量下面的新建按钮,变量名JAVA_HOME(代表你的JDK安装路径),值对应的是你的JDK的安装路径。此时你应该在你原有的值域后面追加,记得在原有的值域后面记得添加一个英文状态下的分号。命令,可以出现如下图的提示,你可以看你安装的JDK版本。(1)WINDOWS+R键,输入cmd,进入命令行界面,很多初学者在配置环境变量的时候就会跌倒在这个坑里。最后点击确定,此时JDK的环境变量配置就完成了。此处需要注意:最前面有一个英文状态下的小点。定制产品红包拿不停!
2024-12-08 17:44:37
305
原创 java高并发系列 - 第5天:深入理解进程和线程
一般来说,WAITING的线程正式在等待一些特殊的事件,比如,通过wait()方法等待的线程在等待notify()方法,而通过join()方法等待的线程则会等待目标线程的终止。当线程在执行的过程中遇到了synchronized同步块,但这个同步块被其他线程已获取还未释放时,当前线程将进入阻塞状态,会暂停执行,直到获取到锁。也就是说,一个车间开工的时候,其他车间都必须停工。线程是轻量级的进程,是程序执行的最小单元,使用多线程而不是多进程去进行并发程序的设计,是因为线程间的切换和调度的成本远远小于进程。
2024-12-08 17:42:36
543
原创 java高并发系列 - 第26篇:学会使用JUC中常见的集合,常看看!
了解JUC常见集合,学会使用介绍Queue接口介绍Deque接口JUC集合框架图图可以看到,JUC的集合框架也是从Map、List、Set、Queue、Collection等超级接口中继承而来的。所以,大概可以知道JUC下的集合包含了一一些基本操作,并且变得线程安全。Map。
2024-12-08 17:40:36
897
原创 Java项目:婚纱影楼信息网站(java+ssm+mysql)
婚姻是每个人人生中都非常重要的一个组成部分,它是一个新家庭的开始也是爱情的见证,所以很多人在结婚之前都会拍一套美美的婚纱照来纪念这一美好的时刻,但是很多时候人们在拍婚纱照的时候都是到当地的影楼去拍摄,这种影楼一般价格都比较高昂,而且在套餐中会不不设置陷阱来坑害消费者,所以很多爱美的年轻人更中意在网络上选购自己喜欢的套餐来进行拍摄,本系统也是出于这样的目的进行开发的。**应用服务:Tomcat7/Tomcat8。
2024-12-08 17:38:35
888
原创 JAVA面向对象之多态
我们一般在创建对象的时候而多态的创建//父类的引用指向子类的对象//前面是父类声明 = 新建一个子类的对象我们可以直接输出这个父类看一下运行结果:发现我们运行的时候识别到了它是Boy类也就是说我们在编译前它被识别为父类,而编译后也就是运行的时候就被识别为子类了这就是多态在编译的时候创建父类引用指向子类的对象而特性是运行的时候就已经是子类的对象了二、为什么使用多态我们来看这样一个场景我们人都是要吃饭的,都有吃饭这个行为。
2024-12-08 17:36:34
584
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅