Java
一篇搞定守护线程和非守护线程的区别
需求:如果想让某个线程随着主线程的结束而结束,该如何做? 例如线程a如何随着主线程的结束而结束,解决这个问题我们就要应用线程的守护线程(后台线程),这样线程就会随着主线程的结束而结束。 在Java 中,可以创建两种线程 守护线程 守护线程 就是大家常说的 Daemon Thread 线程也叫 后台线程,是程序运行时在后台提供的一种通用服务的线程。 比如垃圾回收线程就是一个很
java操作redis之jedis
我们之前对Redis的学习都是在命令行窗口,那么如何使用Java来对Redis进行操作呢?对于Java连接Redis的开发工具有很多,这里先介绍通过Jedis实现对Redis的各种操作。(前提是你的redis已经配置了远程访问) 1.创建一个maven工程,并且添加以下依赖 2.创建JedisTest.java测试类 到这里Jedis如何连接redis以及常用操作已经了解了,其实这里的操
执行存储过程报错:User does not have access to metadata required to determine stored procedure parameter types
在执行存储过程中,报错详细信息如下: java.sql.SQLException: User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with "noAcces
Hive扩展之web界面:hwi接口
HWI是Hive Web Interface的简称,是hive cli的一个web替换方案,以开发的网页形式查看数据 切换用户启动集群 查看端口状态 安装apache-hive-2.0.0-src.tar.gz 解压安装包,打包并配置文件 HWI需要用Apache的ANT来编译,因此需要安装ANT 解压安装包,重命名然后赋hadoop用户权限 配置环境变量 切换用户查看ant信息
大数据平台告警信息监控
大数据平台监控界面和报表 通过界面查看大数据平台状态 未配主机映射网址换成ip访问 地址:http://master:8088/cluster/nodes 通过界面查看Hadoop状态 地址: http://master:50070 Hadoop 的运行状态: 菜单功能: 1)Overview(总览),查看 Hadoop 启动时间、版本号、命名节点日志状态、命名节 点存储状态等信息; 2)Da
SpringMVC —— 前提
SpringMVC — 前提 前提了解:Web 开发中的一些概念 JavaBean规范 必须是一个公共类,如:public class User{ } 必须有一个空的构造器 类的成员变量是私有,如:private int id; 通过 getter / setter 来访问属性 在软件体系架构中,分层式结构最常见,微软推荐的分层式结构为三层:数据访问层、业务逻辑层 ( 领域层 )、表示
SpringMVC — 控制器
SpringMVC — 控制器 创建一个 Controller 控制器:使用 @Controller 对类进行注解,将被标注的类设置为一个控制器 使用 @RequestMapping 对类或方法进行注解,用来映射一个请求和请求的方法。 属性 value 指请求的 url method 可指明 RequestMethod.POST 即表单必须要是 method=”post” 请求方法 param
美团一面:OOM后,JVM一定会退出吗?为什么?
文章且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,完成职业升级, 薪酬猛涨!加尼恩免费领 免费赠送 经典图书:《Java高并发核心编程(卷1)加强版》 面试必备
Scala学习(二)条件控制与循环
1、if语句:var a=20; var n= if(a>10) 40 else 1; 得到n=40 2、类型推断: if(a>40) 40 else "dsaf" 返回的是父类型Any if (a>10) 40 如果后面没有跟else语句,则默认返回Unit类型。相当于java中的void或null; 上面的语句相当于 if(a>10) 40 else
Java面向对象编程的三大特性:封装、继承、多态。
一、封装 封装的核心在于私有化(private),大部分情况下,来封装对象的属性,很少有封装方法的。通过将对象的属性封装,提供对外的公共方法来访问属性是最常见的方式。 public static class FengZhuang{ // 通过封装,设置私有属性 private String name; private int age;
BUAA OO 总结
正向建模和开发 本单元通过学习三种UML图,在具体写代码之前先对架构进行构建。理论上讲,这样是可以节省很多时间并优化架构的,但是我实际执行过程中,经常遇到原来的UML图架构考虑不周,而不得不根据代码反过来修改UML图,最后第一次作业基本上就和先写代码没有区别,好在第二,三次迭代时这样的情况减少了很多。先确定结构再开发一定是更好的,而且随着项目的增大,这种优势会愈发明显,第一次作业先写代码再画的UM
Java集合框架常见面试题
剖析⾯试最常⻅问题之 Java 集合框架 集合概述 Java 集合概览 从下图可以看出,在 Java 中除了以 Map 结尾的类之外, 其他类都实现了 Collection 接⼝。 并且,以 Map 结尾的类都实现了 Map 接⼝。 说说 List,Set,Map 三者的区别? List (对付顺序的好帮⼿): 存储的元素是有序的、可重复的。 Set (注重独⼀⽆⼆的性质): 存储的元素是⽆序的、
in用不用索引,啥时候能用啥时候不能用,一文说清
in/or到底能不能用索引应该是肯定的,但有时生效有时不生效,这个能不能量化计算?这是本文想讨论和解答的问题。 in到底用不用索引感觉像一桩悬疑片!古早时期的面经,统一说不走索引,在一些程序员脑海中从此留下不可磨灭的印记。 有些从业时间较长的程序员脑子里的第一反应就是不走索引,上个月我就曾经被同事这样质疑过。 但是那是mysql5.5以前的老黄历了,现在都到8.0+了,5.5(甚至更早)以后可以
Spring —— IOC
Spring — IOC 传统方式:先前 service 层调用 dao 实现类:常用 new 方式,高耦合 ( 即依赖 —— 模块与模块之间的联系 ) 而好的程序应该是:高内聚 ( 模块内部功能的联系 ) 低耦合 New 的方式就是写死了,是硬编码 ( 一般来说应该是要避免的 ) 要改变的话就是改源代码 将紧耦合变为松耦合,松耦合尽量做到不耦合 采用反射方式解耦 例:旧方
Logback SiftingAppender 使用
1、简介 SiftingAppender 可根据给定的运行时属性将日志分离或筛选。例如,SiftingAppender 可以根据用户会话将日志事件分开,以便不同用户生成的日志进入不同的日志文件,每个用户一个日志文件。SiftingAppender 有两个属性: timeout SiftingAppender 会关闭并取消引用超时(连续多长时间未访问)的 appender,默认的超时时间为30分钟。
下载-elasticsearch
下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch ELK的主版本号需要统一:ElasticSearch-5.2 + Logstash-5.2 + Kibana-5.2 安装说明 1.在安装 Elasticsearch 之前,需安装并配置好 JDK, 设置好环境变量 $J
Java中线程等待和唤醒
Java中线程等待和唤醒 本文主要是对Java中线程等待、唤醒相关的内容进行总结。 线程的生命周期和状态 Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种不同状态的其中一个状态: NEW: 初始状态,线程被创建出来但没有被调用 start() 。 RUNNABLE: 运行状态,线程被调用了 start()等待运行的状态。 BLOCKED:阻塞状态,需要等待锁释放。 WAITIN
关于如何使用C++进行编程(不使用数据库的情况下)
问题描述 对于一个长期使用Java连接数据库,实现javaweb编程的软工友友来说,突然在编程任务中不允许连接数据库,就有一点的蒙圈,没有办法,只能去查阅资料啦! 问题解决 不出意外的话,这次我们就需要使用文件操作来存储数据啦!(然后另外一种方法时json,显然,文件操作更加简单一点、也是更加熟悉一点) 然后对于较为具体的文件的相关操作,可以看一下这篇文章: 点击这里
Spring — AOP
Spring — AOP AOP 简介 面向切面的编程,是 OOP 的扩展与补充,可以对业务逻辑的各部分进行隔离,降低各部分之间的耦合度,提高程序的可重用性,提高开发效率。 在不修改源码的情况下,对业务功能进行增强。AOP 适用于具有横切逻辑的场合,如日志记录、性能检测、访问控制、事务控制等 常用来做增强测试: 就像是在进超市时,核心业务是走进超市,由 AOP 来执行开门和关门操作