- 博客(44)
- 收藏
- 关注
转载 组合、继承和代理的区别
组合、继承和代理三者的定义: 组合:在新类中new 另外一个类的对象,以添加该对象的特性。继承:从基类继承得到子类,获得基类的特性。代理:在代理类中创建某功能的类,调用类的一些方法以获得该类的部分特性。 使用场合: 组合:各部件之间没什么关系,只需要组合即可。like组装电脑,需要new CPU(),new RAM(),ne...
2020-10-09 11:29:38
1147
7
转载 算法-递归讲解
这里写自定义目录标题 原作者:书呆子Rico 《递归的内涵与经典应用》 http://my.youkuaiyun.com/justloveyou_ 摘要: 大师 L. Peter Deutsch 说过:To Iterate is Human, to Recurse, Divine.中文译为:人理解迭代,神理解递归。毋庸置疑地,递归确实是一个奇妙的思维方式。对一些简单的递归问题,我们总是惊叹于递归描述问题的能力
2020-10-02 10:54:46
302
原创 8、Scala的类和对象
目录一、类1.类的定义2.构造器二、对象1.单例对象 2.伴生对象 一、类1.类的定义 1.声明类 类并不用声明为public,所有这些类都具有公有可见性。Class Person{} 2.属性声明 Scala会自动生成相关属性的getter 和setter方法。用val修饰的变量是只读属性,有get...
2019-01-24 21:35:14
420
转载 10、scala访问修饰符
Scala 访问修饰符Scala 访问修饰符基本和Java的一样,分别有:private,protected,public。如果没有指定访问修饰符,默认情况下,Scala 对象的访问级别都是 public。Scala 中的 private 限定符,比 Java 更严格,在嵌套类情况下,外层类甚至不能访问被嵌套类的私有成员。私有(Private)成员用 private 关键字修饰...
2019-01-24 21:34:17
315
原创 9、scala为什么会有apply方法
目录 1.什么时候调用apply()2.为什么会有apply方法。3.怎么样使用apply?4.apply的用途1.什么时候调用apply()scala里面我们常常会看到Array(1,2,3),Person()这种省去了new的对象初始化方法。这实际是scala为我们提供的一个语法糖,什么是语法糖呢?就是帮我们做一些转换,使得原来语法复杂,写得不爽得格式变得简单。但本...
2019-01-24 21:20:58
689
原创 7、scala集合
目录 集合1.序列List2.集Set 3.映射Map1.构建映射2.获取和修改映射中的值 集合Scala的集合有三大类...
2019-01-24 16:49:40
355
原创 6、scala数组和元组
一、数组1.1定长数组和变长数组定长数组 使用new Array[]()或者Array来创建 访问时用下表访问,使用toBuffer来转化为数组缓冲,就可以看到原数组中的内容了 数组定长不可变 变长数组 使用ArrayBuffer[]来创建 += 在尾部加入一个或多个元素 ++= 追加数组或数组缓冲 使用remove 或 insert 删除或插入 ...
2019-01-24 15:49:50
561
原创 5、scala方法和函数
1.定义方法和函数 2.定义方法 1.格式:def 名称 (参数名:参数名称) : 返回类型 = {} 2.方法的返回值类型可以不写,编译器可以自动推断出来,但是对于递归方法,必须指定返回类型 3. Scala中的+ - * / %等操作符的作用与Java一样,位操作符 & | ^ >> <<也一样。只是有 一点特别的:这些操...
2019-01-24 11:00:03
279
原创 4、scala基础语法
目录 1.声明变量 2.常用类型3.条件表达式4. 块表达式 5.循环1.声明变量1.Val声明不可变变量 var声明可变变量 2.声明格式:val/var name : 类型 = 赋值 类型可省略 package cn.itcast.scala object VariableDemo ...
2019-01-24 10:39:50
372
原创 2、scala环境搭建
Scala编译器安装1.安装JDK因为Scala是运行在JVM平台上的,所以安装Scala之前要安装JDK2.安装Scala 2.1.Windows安装Scala编译器 访问Scala官网http://www.scala-lang.org/下载Scala编译器安装包,目前最新版本是2.12.x,但是目前大多数的框架都是 用 2.10...
2019-01-24 10:15:32
204
原创 什么是scala?scala与java对比
1.什么是ScalaScala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机),并兼容现有的Java程序。 2.为什么要学Scala优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。 速度快:Sca...
2019-01-24 10:05:36
1757
原创 java线程安全的实现方法
java线程安全被分为了几个等级类,但不管怎样总体来讲就是使线程之内和几个线程之间的事务操作具有原子性,数据具有正确性,一般来讲具有以下几种方法目录1.互斥同步2.非阻塞同步3.无同步方案1.互斥同步 互斥同步时最常用的一种并发正确性保障手段。同步是指在多个线程中并发访问数据时,保证数据在同一时刻只被一个线程使用。互斥是实现同步的一种方式,临界区、互斥量、信号量都是实现互...
2019-01-21 18:01:32
2567
转载 Scala强大的集合数据操作
Scala是数据挖掘算法领域最有力的编程语言之一,语言本身是面向函数,这也符合了数据挖掘算法的常用场景:在原始数据集上应用一系列的变换,语言本身也对集合操作提供了众多强大的函数,本文将以List类型为例子,介绍常见的集合变换操作。一、常用操作符(操作符其实也是函数)++ ++[B](that: GenTraversableOnce[B]): List[B] 从列表的尾部添加另外一个列表...
2019-01-18 17:26:25
335
原创 jvm内存分配和gc策略
目录 内存分配是指哪个区域?1.堆的区域划分2.两种gc3.区域之间的变化内存分配是指哪个区域?jvm运行时内存分为程序计数器、虚拟机栈、本地方法栈、堆和方法区。其中计数器、虚拟机栈、本地方法栈几个区域随线程生和灭,栈帧在编译期就可知,每一个栈帧的分配大小基本在类结构确定下来时就已经定下来了,因此这几个区域的内存分配和回收基本是确定。jvm中内存分配和gc的重点区域就是...
2019-01-18 15:48:35
366
原创 jvm内存溢出区域和排查方法
目录1.堆溢出2.栈溢出3.方法区和运行时常量池溢出4.本机直接内存溢出首先我们需要掌握什么是内存溢出和内存泄漏内存泄漏:即声明的对象无法被回收,一直存在于内存中,使得占用的内存就像被泄漏消失了一样内存溢出:即剩余可用的内存空间过小,无法分配出下一步工作需要的内存。内存泄漏过多必然会导致内存溢出内存溢出(OOM)会出现在jvm内存的各个区域,程序计数器区是唯一不...
2019-01-17 13:50:09
6112
1
原创 java内存区域和数据存储举例
Java和C++有一堵由内存分配和垃圾回收技术围成的墙,里面的人想出去,外面的人想进去。Java虚拟机执行程序时会把所管理的内存分为若干不同的区域,其总称为运行时数据区域。如下:1.程序计数器: 当前线程执行所执行的行数指示器,每个线程独有的区域。也就是记录当前线程执行的代码执行到了哪个地方。是唯一不会发生OutOfMemoryError的区域。2.虚拟机栈(java栈)...
2019-01-17 11:26:01
433
原创 Windows使用Idea编译spark源码
目录 需要准备环境一、将源码导入IDEA二、进行build(编译)三、可能出现问题四、gitBash中进行编译五、进行自带例子测试需要准备环境jdk1.8.0scala 2.11maven 3.5.9pythonidea中安装了scala pluinGit一、将源码导入IDEA1、在idea中安装scala插件此处我已安装完成,请注意选择...
2018-11-19 20:27:47
3231
原创 Spark集群环境搭建并测试
不在此处介绍spark了,直接上步骤, spark环境需要jdk 、Scala环境 、下载hadoop 和是spark,jdk的安装十分简单,下面介绍其他三个步骤。环境介绍三台虚拟机hadoop1 192.168.46.129 centos 2ghadoop2 192.168.46.128 centos 2ghadoop3 192.168.46.130 ...
2018-11-07 12:18:07
1199
原创 idea中maven项目打包为jar
在idea中打包maven项目时有很多解决的方案,可出乎意料的是,使用某些方案时有一些未知的错误情况。经过测验后,记录了下面一种简单有效的方法在pom.xml中添加<build> <plugins> <plugin> <groupId>org.apache.maven....
2018-11-05 14:38:59
13864
原创 centos安装jdk并设置环境变量
centos安装JDK时需要先查看系统预先安装的openjdk,什么是openjdk?就是完全开源的jdk,而Oracle的Jdk并不是全部开源的。1.卸载自带的openjdk命令如下rpm -qa | grep java执行如下将Openjdk卸载掉 yum -y remove java-1.7.0-opendjdk* tzdata-java.noarch2.下载安...
2018-10-12 16:17:06
568
转载 JAVA中IO流详细讲解
转载自 https://www.cnblogs.com/xdp-gacl/p/3634409.html一、JAVA流式输入/输出原理 流是用来读写数据的,java有一个类叫File,它封装的是文件的文件名,只是内存里面的一个对象,真正的文件是在硬盘上的一块空间,在这个文件里面存放着各种各样的数据,我们想读文件里面的数据怎么办呢?是通过一个流的方式来读,咱们要想从程序读数据,对于计...
2018-07-24 11:05:45
662
转载 log4j详细配置
转载自 https://blog.youkuaiyun.com/azheng270/article/details/2173430/Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:#配置根Logge...
2018-07-24 08:59:02
289
转载 java后端开发规范
一、命名风格 【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO 正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion 反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromo...
2018-07-22 17:12:25
458
原创 java读取表格数据,现成方法调用
java读取表格数据,方法已封装好,多数情况下能够直接调用,再对返回的值进行操作。需要进行改动的根据情况进行改动。1.导入包需要导入下面三个包<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <...
2018-07-20 21:50:22
2819
原创 springboot快速搭建WebSocket
一:webSocket概述 学习过计算机网络的同学知道,HTTP是 拉 协议,即服务端等待客户端发送消息,而邮件协议SMTP则是 推 协议,服务器可以主动将消息发送到客户端。在网页应用中,某些情况下我们往往需要服务器能够主动发送消息给给客户端,后端能够主动联系前端。于是便需要使用到websocket; Websocket 是一种基于TCP的网络通信协议。连接允许客户端和服务器之间进行全...
2018-07-17 10:58:50
847
原创 spring boot+redis+mybatis搭建,亲测可行
创建项目就不介绍了,创建时需要勾选Redis选项1.引入redis依赖dependency> groupId>org.springframework.bootgroupId> artifactId>spring-boot-starter-data-redisartifactId> dependency>12342.
2018-02-08 13:34:42
1148
转载 Spring Boot 整合 Mybatis 实现 Druid 多数据源
Spring Boot 整合 Mybatis 实现 Druid 多数据源详解 本文为转载,博主亲测教程正确本文提纲一、多数据源的应用场景二、运行 springboot-mybatis-mutil-datasource 工程案例三、springboot-mybatis-mutil-datasource 工程代码配置详解一、多数据源的应用场景目前
2018-02-07 21:46:03
330
原创 spring boot配置filter和interceptor
spring boot配置filter和interceptor下面以普通的判断session是否为空的登录器来做说明直接上代码filter: 首先准备好我们的filterimport javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServlet
2018-02-04 15:54:52
1092
原创 使用Postman模拟发送get、post、delete、put请求
使用Postman模拟发送get、post、delete、put请求现在的模拟发送请求插件很多,包括在idea上都自带了Test restful web service来模拟请求,但亲测postman更好用一些今天来分享如何使用postman发送各种请求1.下载postman是谷歌的一款插件,最好在谷歌的网上应用商城下载(需要翻墙),其他地方下载可能会装不上2.模拟发送
2018-01-31 22:21:44
49847
3
原创 在idea中使用mybatis的generator逆向生成代码
在idea中使用mybatis的generator逆向生成代码1.创建好你的web工程项目(如若不会请自行百度)结构如下2.创建配置文件generatorConfig.xml内容如下:<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Config
2018-01-24 21:51:23
383
转载 @RequestParam,@PathParam,@PathVariable等注解区别
@RequestParam 和 @PathVariable 注解是用于从request中接收请求的,两个都可以接收参数,关键点不同的是@RequestParam 是从request里面拿取值,而 @PathVariable 是从一个URI模板里面来填充@RequestParam看下面一段代码:http://localhost:8080/springmvc/hello/101
2018-01-23 17:08:54
786
1
转载 annotation之@Autowired、@Inject、@Resource三者区别
annotation之@Autowired、@Inject、@Resource三者区别一、@Autowired1、@Autowired是spring自带的注解,通过‘AutowiredAnnotationBeanPostProcessor’ 类实现的依赖注入;2、@Autowired是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifi
2018-01-23 17:01:19
314
原创 Filter用作安全登陆
Filter用作安全登陆 上一篇文章写到用springmvc拦截器来做登陆验证(http://blog.youkuaiyun.com/make__it/article/details/78840576),但是它有不足的地方。这篇用filter来做安全登陆,何为安全登陆,简单点说就是登陆之后才能访问页面,不登陆什么页面都访问不了。也可以看出springmvc的拦截器之拦截对controller的访问,
2017-12-19 12:42:00
389
原创 springmvc拦截器面对ajax时的处理
前面说过,当前台是ajax传过来的请求的时候拦截器并不能跳转,原因可想而知了,因为ajax是局部的,不管是成功还是失败都会由ajax的的成功或者失败函数的进行处理。没看过的可查看另一篇文章那我们就需要区分传过来的请求是否是ajax请求,然后将Url的转发交给前台来做原理:ajax请求会先发送一个请求头,判断正确后才发送真正的请求代码如下1.后台代码@Override publ
2017-12-19 11:48:21
5972
原创 springmvc拦截器用作验证登陆
springmvc拦截器用作验证登陆 一、写一个实现了HandlerInterception的类 实现接口中的3个方法,对于这三个方法,简单介绍一下preHandle方法:进入Handler方法之前执行。可以用于身份认证、身份授权。比如如果认证没有通过表示用户没有登陆,需要此方法拦截不再往下执行(return false),否则就放行(return true)。postHand
2017-12-19 11:13:24
655
转载 对Java Serializable(序列化)的理解和总结
对Java Serializable(序列化)的理解和总结1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。2、什么情况下需要序列化
2017-12-06 12:26:02
253
转载 Java异常机制Throwable
Java中异常的概念以及处理异常在Java程序运行期间出现了一个错误,这个错误可能是由于文件包含了错误信息,或者是由于网络连接出现问题,也可以是因为使用了无效的数组下标,或者是试图使用一个没有被赋值的对象引用而造成的,我们称这样的错误为异常。在出现异常时用户期望程序能够采用一些理性的行为。如果由于出现错误而使得程序操作没有完成,这时程序应该:返回到一种安全状态,并能够让用户执行
2017-12-06 12:23:32
286
原创 java中static的用法
static译为静态的,可以用来修饰属性、方法、代码块、内部类我们一个个的来说1.static修饰属性:2.static修饰方法:3.static修饰代码块和非代码块的比较静态代码块 的格式:static{ }4.修饰内部类(不常用,但关键时候很有用) 1.
2017-12-04 22:22:36
741
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人