java学习
文章平均质量分 54
分享java从基础到进阶的学习过程
QYHuiiQ
谁动了我的代码
展开
-
centos7下安装JDK1.8
1.官网下载Linux系统下的安装包(https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)2.通过SSHSSH Secure Shell Client创建一个文件夹,我这里创建的是:/usr/local/wyh/java3.把下载好的JDK安装包拖拽到新建文件夹下...原创 2019-01-20 11:46:13 · 597 阅读 · 0 评论 -
vm与centos7安装步骤
VMware workstation安装:1双击VMware-workstation-full-10.0.2-1744117.1398244508.exe2点击next进行安装3.选择安装方式4.选择程序安装位置点击change选择程序安装位置,然后点击next5.选择是否自动检测更新如勾选,有新版时会提示你跟新版本,点next进行下一步6.创建快捷...原创 2019-01-19 22:43:56 · 413 阅读 · 0 评论 -
kafka streams中多个window统计count
场景描述:统计某个商品(商品id)在10min,30min,1hour内的购买量。我们把商品的每一次购买事件作为流,对其加窗,统计各需求时间段内的购买次数。1.先创建一个读取数据的topic:window-count,再创建一个统计结果输出的topic:window-count-out。2.编写代码。3.启动程序WindowCount。package teststreams;...原创 2019-02-16 19:51:17 · 1675 阅读 · 2 评论 -
kafka streams 中streams.errors.StreamsException: java.nio.file.DirectoryNotEmptyException
在项目中使用到了cleanUp()及state store,可能会出现下面这种异常:Exception in thread "main" org.apache.kafka.streams.errors.StreamsException: java.nio.file.DirectoryNotEmptyException: C:\IT\tool\kafka-state-store\mywindo...原创 2019-02-16 19:47:56 · 4050 阅读 · 0 评论 -
初学kafka streams2.1.0原理及代码实现(wordcount)
前面学习了kafka的基础知识,给大家推荐《kafka权威指南》这本书,这次学习kafka streams,参考书籍:《kafka从入门到实践》,电子书分享给大家。但是书中给出的有些示例是比较老的版本,有些类的用法已经更新了,我使用的是最新版的2.1.0,在此推荐大家参考官方文档:http://kafka.apache.org/documentation/streams/《kafka权威指南》...原创 2019-01-30 22:48:42 · 1186 阅读 · 1 评论 -
kafka streams2.1.0官方wordcount代码实现过程中遇到的问题(NoSuchMethodError,UnsatisfiedLinkError)
1.出现Exceptioninthread"main"java.lang.NoSuchMethodError:solution:把pom文件中的kafka stremas的版本号要与kafka安装的版本号改为一致。可能你在参考网上的示例代码时遇到很多都是老版本的API,他们使用的一些方法和类可能和你安装的新版本的不太一样,所以这个时候就要参考官方API中的示例。当你按照自己的新版...原创 2019-01-30 22:00:08 · 624 阅读 · 0 评论 -
kafka在java程序中实现生产者与消费者的应用
官方API文档:http://kafka.apache.org/documentation/#producerapi参考书籍:《kafka权威指南》注意:kafka的主题只能用命令创建,在代码中无法创建。1.创建maven项目,配置pom文件:<dependencies> <!-- kafka --> <dependency> ...原创 2019-01-24 21:05:58 · 1066 阅读 · 0 评论 -
使用java代码连接不上kafka的解决方案(生产者与消费者都没能连上)
本篇修改设置等操作是基于上一篇kafka安装配置操作基础之上:https://blog.youkuaiyun.com/QYHuiiQ/article/details/86556591使用命令可以生产并消费成功,但是使用java代码生产的消息没能写入kafka中,尝试以下解决方案,以下是我解决问题时的倒序方法,你也可以尝试着从第一步开始:1.把代码中的localhost改为服务器IP:这一步很重要!...原创 2019-01-23 21:55:38 · 9965 阅读 · 2 评论 -
centos7下kafka2.12-2.1.0的安装及使用
kafka可以安装在很多种操作系统上,我们常用的是安装在Linux上。准备工作:1.下载安装vm,centos7(http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso)下载哪个都行。(安装centos7的教程:https://blog.youkuaiyun.com/QYHuiiQ/article/...原创 2019-01-20 14:19:58 · 4589 阅读 · 3 评论 -
kafka初学
kafka官方文档中文版:http://kafka.apachecn.org/documentation.htmlkafka是一个分布式消息系统,使用scala语言编写。被用作构建实时数据管道及数据流的应用,它可以横向扩展(横向扩展:比较典型的就是分布式,多台机器通过网络串联起来对外提供服务,每台机器都有自己的能力,组合起来提高综合能力。优点是成本低。缺点是不好维护。纵向扩展:在一台机器上,不...原创 2019-01-19 13:43:54 · 245 阅读 · 0 评论 -
阿里巴巴编码规范认证考试总结
emmmm,看了两遍手册,又看了一些前辈的总结,就这样去考试了。。。考了六次总算考过了。考试90分钟,需要上传身份证正面照。总共50道题,单选题少之又少。这个考试陷入了死循环,有些选项和手册中提到的是有差别的,那到底是选还是不呢,而且这次选了下次不选,一直都不知道正确的到底是什么。考证不是目的,重要的是掌握了这样一套规范很大程度上可以规避产品运行时的出错的风险。阿里巴巴的大牛们帮我们总...原创 2019-01-06 12:11:58 · 9089 阅读 · 2 评论 -
java GC垃圾回收机制学习笔记
参考链接:https://www.cnblogs.com/wjtaigwh/p/6635484.htmlhttps://www.cnblogs.com/zhguang/p/3257367.htmlhttps://www.cnblogs.com/mikevictor07/p/5023776.htmlhttps://blog.youkuaiyun.com/qq_36314960/article/d...原创 2018-12-30 22:38:24 · 327 阅读 · 0 评论 -
thymeleaf
引入大佬的总结:http://www.cnblogs.com/jiangbei/p/8462294.html记录一下自己对这篇文章中需要注意的细节:1.该配置是在application.properties中。2.如果是单标签封闭,会导致整个页面都出不来。...转载 2018-12-22 13:09:18 · 275 阅读 · 0 评论 -
springboot整合websocket实现服务器端获取当前在线数并向客户端主动发送消息
参考链接:https://blog.youkuaiyun.com/qq_38082304/article/details/78959373https://www.imooc.com/article/70702?block_id=tuijian_wzhttps://blog.youkuaiyun.com/b7410852963/article/details/49585507项目目录结构:1.创建一...原创 2018-12-23 00:07:14 · 8496 阅读 · 2 评论 -
PAT-乙级-Java-1012
1012数字分类(20 分)给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字:A1= 能被 5 整除的数字中所有偶数的和; A2= 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算n1−n2+n3−n4⋯; A3= 被 5 除后余 2 的数字的个数; A4= 被 5 除后余 3 的数字的平均数,精...原创 2018-11-13 20:46:55 · 214 阅读 · 0 评论 -
PAT-乙级-Java-1011
1011A+B 和 C(15 分)给定区间 [−2^31,2^31] 内的 3 个整数A、B和C,请判断A+B是否大于C。输入格式:输入第 1 行给出正整数T(≤10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。输出格式:对每组测试用例,在一行中输出Case #X: true如果A+B&...原创 2018-11-13 20:42:16 · 175 阅读 · 0 评论 -
PAT-乙级-Java-1010
1010一元多项式求导(25 分)设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表...原创 2018-11-13 20:37:41 · 264 阅读 · 0 评论 -
PAT-乙级-Java-1009
1009说反话(20 分)给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:...原创 2018-11-13 20:35:02 · 234 阅读 · 0 评论 -
PAT-乙级-Java-1008
1008数组元素循环右移问题(20 分)一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入...原创 2018-11-12 22:45:12 · 302 阅读 · 0 评论 -
PAT-乙级-Java-1007(部分正确)
1007素数对猜想(20 分)让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<10^5),请计算不超过N的满足猜想的素数对的个数。输入格式:输入在一行给出正整数N。输出格式:在一行...原创 2018-11-12 20:51:29 · 392 阅读 · 0 评论 -
PAT-乙级-Java-1006
1006 换个格式输出整数 (15 分)让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。输...原创 2018-11-12 20:49:33 · 236 阅读 · 0 评论 -
PAT-乙级-Java-1005(部分正确)
1005继续(3n+1)猜想(25 分)卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对n=3进行验证的时候,我们需要计算 3、5、8、4、2、1,则当我们对n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4...原创 2018-11-12 20:47:39 · 522 阅读 · 0 评论 -
PAT-乙级-Java-1004
1004成绩排名(20 分)读入n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ...第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和...原创 2018-11-10 20:25:51 · 452 阅读 · 0 评论 -
PAT-乙级-Java-1003
1003我要通过!(20 分)“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有P、A、T这三种字符,不可以包含其它字符; 任意形如xPATx的字符串都可以获得“答案正确”,其中x或者是空字符串,或者是仅...原创 2018-11-10 17:43:33 · 235 阅读 · 0 评论 -
PAT-乙级-Java-1002
1002写出这个数(20 分)读入一个正整数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321...原创 2018-11-10 15:08:42 · 218 阅读 · 0 评论 -
PAT-乙级-Java-1001
1001害死人不偿命的(3n+1)猜想(15 分)卡拉兹(Callatz)猜想:对任何一个正整数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3...原创 2018-11-10 15:06:47 · 175 阅读 · 0 评论 -
activeMQ初步搭建及使用
1.下载及安装下载地址:http://activemq.apache.org/activemq-590-release.html下载完成后,解压,并运行bin目录下自己系统对应的activemq:运行出现以下界面说明启动成功:访问http://localhost:8161/进入后台管理界面:初始用户名和密码都是admin:进入之后看到如下界面就可以...原创 2018-11-18 23:29:03 · 923 阅读 · 0 评论 -
初学socket编程(网络编程)
socket编程可以理解为是一种二进制+IP+端口的一种通讯模式,在任何语言中,都有socket编程,因此几乎所有语言的socket都可以互通。只要是涉及到通讯方面的如QQ,微信等都是涉及到socket,只是他们自己进行了封装。socket的本质是对tcp/ip的封装。网络通讯:UDP:是面向无连接的,所以效率较高,不会建立连接,不安全。不管有没有接收方,只管向指定地址发送东西。(但要求大...原创 2018-11-24 17:33:41 · 481 阅读 · 0 评论 -
前后端分离建立vue项目(接上篇)
参考博客:https://www.yinpengfei.com/toArticle/154384165733572.htmlhttps://www.yinpengfei.com/toArticle/154384592215109.html问题一:该文件在项目根目录下。跟随学霸的博客敲了一遍代码实现了一下效果,具体语法还要再仔细研究一下。问题二:这个地方的端口号8885是...原创 2018-12-11 21:54:17 · 267 阅读 · 0 评论 -
node.js安装-vue项目初学遇到的问题
https://www.cnblogs.com/PatrickLiu/p/6971105.htmlhttps://www.yinpengfei.com/toArticle/154375254440673.html安装过程中可能出现的问题:问题一:处理办法:根据倒数第二行它提示的那个版本号输入cnpm install cnpm@6.0.0问题二:https:/...原创 2018-12-11 20:59:33 · 297 阅读 · 0 评论 -
springboot---@Async实现异步调用及异步回调Future
异步调用相对的是同步调用。同步方法调用的时候必须是按照顺序执行的,上一行代码执行完,才会执行下一行。而异步方法调用是相当于多个线程执行,不需要等待上一行代码的执行结果。首先测试方法同步的情况:controller:package springboot_async.async_test;import org.springframework.beans.factory.annot...原创 2018-12-16 00:05:11 · 37307 阅读 · 8 评论 -
springboot集成lombok
在传统方法中,我们对一个实体类定义了属性之后,会手动生成set,get方法。使用lombok插件可以简化繁琐的代码。但是在大型项目中性能不太好,因为它要去字节码文件中进行修改,所以在一个大项目中修改代码工作量比较大。原理:在编译的时候修改字节码文件,底层使用字节码技术,帮我们在内存中修改字节码文件,生成get,set方法。使用lombok,需要先使eclipse支持该插件,先要下载jar(...原创 2018-12-02 17:31:20 · 2119 阅读 · 1 评论 -
使用AOP统一处理WEB请求日志
在实际开发中,我们可能会经常用到log.info(),这句代码会出现多次,使代码比较冗余,通过aop原理可以帮助我们减少冗余代码。需要在pom文件中引入aop的依赖:<!-- 引入aop依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifact...原创 2018-12-02 15:29:44 · 417 阅读 · 0 评论 -
springboot整合log4j日志记录
1、在src/main/resources下面新建一个名为log4j.properties的文件:### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender....原创 2018-12-02 13:09:14 · 6368 阅读 · 0 评论 -
springboot整合全局捕获异常
首先要保证启动类能够扫到异常处理类。编写全局捕获异常处理类:package wyh.error;import java.util.HashMap;import java.util.Map;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web....原创 2018-12-02 12:07:29 · 917 阅读 · 0 评论 -
springboot整合jsp视图
由于springboot内置的tomcat不支持jsp,所以需要引入外部Tomcat的支持。在创建springboot整合jsp的项目时,需要注意项目类型一定为war类型,否则会找不到页面。因为JSP需要webapp的支持。二freemarker是在springboot内部已经支持了。一、新建war类型的maven项目二、pom文件中导入依赖: <parent>...原创 2018-12-01 13:27:14 · 630 阅读 · 0 评论 -
springboot整合freemarker视图层
一、在pom文件中引入freemarker需要的依赖: <!-- 引入freemarker的依赖包 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarke...原创 2018-12-01 12:37:45 · 788 阅读 · 0 评论 -
springboot静态资源访问
springboot默认提供静态资源目录要求在classpath下,可创建/static,/public,/resources,/META-INF/resources。将css,js,图片等静态资源直接放在该目录下,但是在访问时路径不需要写上述几种文件名,因为它是springboot已经默认提供的路径。访问路径:http://localhost:8080/background.jpeg...原创 2018-12-01 12:05:07 · 200 阅读 · 0 评论 -
springboot入门(二)
第二种启动方式:package wyh.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class SecondC...原创 2018-11-28 20:05:44 · 164 阅读 · 0 评论 -
springboot入门系列(一)
springboot入门阶段总结的博客都是基于“腾讯课堂----蚂蚁课堂”视频讲解。springboot是一个快速开发框架,能够帮我们快速整合第三方框架(核心就是通过maven的继承关系实现的),完全采用注解化,简化了XML配置,内置了HTTP服务器(默认是Tomcat),也就是通过Java的形式创建Tomcat,最终以Java应用程序进行执行,而不再通过web形式运行。springboot中...原创 2018-11-25 18:21:07 · 236 阅读 · 0 评论