Java编程之旅
文章平均质量分 80
Java知识点,Java小项目等。都在这个专栏。
谙忆
Java相关研发架构工作经验5年。拥有Java相关发明专利8余项。从事过支付行业,研发与架构的系统稳定地支撑着公司日千万交易笔数量级的支付和对账。
二手车SaaS内核研发3年经验+,拥有二手车行业SaaS相关发明专利6项,研发、架构的元数据内核与权限系统,每日亿万级接口调用。
Java企业开发丰富的理论知识和实战经验。2020年CSDN博客之星第12名,同时在一些社区担任名誉职位。认证为CSDN博客专家、CSDN专栏签约作者、InfoQ签约作者、阿里云ACE杭州同城会会长、阿里云社区认证专家、华为云·云享专家。
展开
-
线上500万数据查询时间在37秒,作者将问题解决了,我看到了更大的坑
线上500万数据查询时间在37秒,作者将问题解决了,我看到了更大的坑文章目录总结一、问题背景二、看执行计划三、优化四、你以为这就结束了吗五、后续(还未解决)六、最终解决方案总结最近看到一篇文章,讲述了一个500万数据查询37秒的问题和解决方案。我先帮大家总结一下解决方案。另外,看完这篇文章,我觉得虽然问题解决了。但是这个强制索引的解决方案并不是很好。我就说一说在这个案例中用强制索引在公司团队开发中未来可能会遇到的问题:系统有很多时候是根据系统信息来决定用哪个索引,一般系统是以最优化方式。现在强原创 2021-12-17 18:27:17 · 4473 阅读 · 0 评论 -
一步完成在Mac机器上部署、运行和停止ZooKeeper
一步完成在Mac机器上部署、运行和停止ZooKeeper文章目录介绍前提下载与安装默认安装路径启动服务端连接zookeeper停止zk很多时候我们需要在本地进行调试zk项目,那么就需要进行部署了。在这里,教大家一个非常简单的部署方式。介绍先简单的介绍一下zk。ZooKeeper 一个中心化的服务, 用于维护配置信息, 命名服务(naming), 提供分布式同步和集群服务(group services)。它是一个开源的分布式应用程序协调服务, 作为 Google Chubby 的一个开源实现,原创 2021-12-15 19:40:27 · 2754 阅读 · 2 评论 -
阿里云服务器给WordPress网站添加SSL证书,并且设置http自动跳转https
给WordPress网站添加SSL证书,并且设置http自动跳转https文章目录下载证书到本地上传证书到服务器修改nginx配置文件设置http跳转https重启Nginx服务联系方式下载证书到本地首先,我的证书是阿里云的证书。也就是这个控制台下载的免费证书。当然,你们自己申请的也可以。最后会得到两个文件。WordPress网站基本都是使用的Web服务器都是nginx。所以我选择下载nginx需要的证书。下载后,这两个文件就是我们需要的东西。上传证书到服务器下面就是将证书上传到服务器了原创 2021-09-08 20:33:42 · 1970 阅读 · 0 评论 -
【已解决】Dubbo版本升级引起的循环注册异常
【已解决】The bean ‘dubboConfigConfiguration.Single’ could not be registered. A bean with that name has already been defined and overriding is disabled.异常解决概述今天的Springboot项目在集成dubbo的时候,报了这么一个异常。异常描述***************************APPLICATION FAILED TO START***原创 2021-05-17 18:58:43 · 1939 阅读 · 5 评论 -
【已解决】Spring容器中找不到ServletWebServerFactory类出现的异常
【已解决】Spring容器中找不到ServletWebServerFactory类出现的异常【已解决】ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean异常概述最近在运行一个springboot项目时,出现了下面的异常。异常情况具体异常如下所示org.springframework.context.Ap原创 2021-05-16 14:48:08 · 3953 阅读 · 5 评论 -
一起重新全面认识JWT-Json Web Token
一起重新全面认识JWT-Json Web Token文章目录概述应用场景JWT认证过程JWT的数据结构headerpayloadsignatureJWT的用法JWT的优缺点最后概述最近学习了一下JWT,全名为Json Web Token,是一种自包含令牌。在这里,我整理了一下网上资源。在文章最后,有一个使用Java实现JWT生成和验证的完整案例。简单的说,就是基于JSON,在web环境下传输一个规定格式的字符串令牌。广义上讲JWT,这是一个Web安全传输信息方式。狭义上来说,直接指传递的令牌字符原创 2021-02-20 20:19:21 · 1325 阅读 · 1 评论 -
ACM中Java的应用
先说一下Java对于ACM的一些优点吧: (1) 对于熟悉C/C++的程序员来说Java 并不难学,两周时间基本可以搞定一般的编程,再用些时间了解一下Java库就行了。Java的语法和C++非常类似,可以说是C++的升级版,只是更加强调面向对象思想而已。(个人见解。。。)(2) 在一般比赛中,Java程序会有额外的时间和空间,但真正进行大规模运算时Java并不比C/C++慢,输入输出效率比较低而已转载 2016-04-25 23:31:48 · 9819 阅读 · 0 评论 -
【工作】大三程序猿之(社招)找工作有感
转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】也许是年轻任性,也许是妄自尊大,也许是胸有成竹,也许…无论怎样,在国庆前后,我走上了去长沙求职的路。为什么要去长沙呢,因为那里离我学校近,另外呢,我创业的公司在那里。为什么我要去找工作呢,不是创业了嘛,因为我想在公司,和公司的团队在一起。这样能让自己时刻充满激情。合作开发项目,也比较方原创 2016-10-17 21:18:15 · 8514 阅读 · 46 评论 -
【框架】[MyBatis]DAO层只写接口,不用写实现类
转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】团队开发一个项目,由老大架了一个框架,遇到了DAO层不用写接口了,我也是用了2次才记住这个事的,因为自己一直都是习惯于写DAO层的实现类,所以,习惯性的还是写了个实现类。于是遇到错误了。找不到那个方法。问了团队的人才知道,方法名和Mapper中配置的id名必须一样。实现:一、配置Spr原创 2016-10-11 21:01:18 · 24138 阅读 · 2 评论 -
Eclipse/MyEclipse清理项目缓存-配图文详解
转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】用过Eclipse或MyEclipse的小伙伴肯定遇到过这种情况: 代码出错后,在前台访问出问题。然后把代码改好,已经检查不到错误,可是项目在前台访问还是有问题。这个时候,可能就是Eclipse/MyEclipse的缓存在做怪了。 现在就看下如何清理缓存吧。Eclip原创 2016-09-26 22:56:39 · 23815 阅读 · 1 评论 -
【系统】[CentOS]装完CentOS7重启提示Initial setup of CentOS Linux 7 (core)
转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】在用U盘装完CentOS后,重新开机启动后显示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License information (no user will be created) (原创 2016-09-13 18:50:59 · 3115 阅读 · 0 评论 -
【系统】[Linux]CentOS 7之安装篇-详解
转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】在上篇完成U盘系统盘的刻录后,接下来就是在电脑上安装CentOS7系统了。在这里,我电脑的品牌是lenovo的。具体型号我也不知道了。我是在开机的时候按F12进入”启动设备菜单”,选着U盘启动。 PS:不同的电脑,选择过程可能不同。有的可能还需要进入BOIS中去设置。(原创 2016-09-13 18:49:21 · 5353 阅读 · 2 评论 -
【系统】[Linux]CentOS 7之下载、制作U盘系统盘篇
下载CentOS镜像:下载这个CentOS镜像的方式有很多种,这这里只介绍2种比较好的下载链接网址与方式。还有制作CentOS7的U盘系统盘教程原创 2016-09-13 18:46:14 · 13358 阅读 · 2 评论 -
利用Eclipse自带的插件连接GIT的详解
第一次与团队合作开发项目,首先就是学习使用git或者svn。 本来自己使用git提交代码到github也有一段时间了,但是发现团队另外2人都是用命令行,哈哈,很明显,自己水平就显得差了很多。偷偷的说下,自己以前都是用图形化软件。 建议大家,平时自己用的时候尽量使用命令行,而不要依赖原创 2016-09-10 22:46:05 · 10704 阅读 · 2 评论 -
Unicode 和 UTF-8 有何区别?
挺通俗易懂的一篇好文。一句话,utf8是对unicode字符集进行编码的一种编码方式。=============很久以前保存的,别人写的但是很明了=============很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为”字节“。再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多转载 2016-09-07 22:50:28 · 2032 阅读 · 0 评论 -
【BeanUtils】自己写的BeanUtils的嵌套使用
转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】其实不打算写的,因为和前面的是一样的,不过既然有人问起,我就写一下吧。MyBeanUtils这是核心的类:通过这个类来返回一个bean对象的。 你给的参数是bean的class和封装的Map对象。package cn.hncu.beanUtils;import java.lang.r原创 2016-08-25 23:29:32 · 3759 阅读 · 1 评论 -
【BeanUtils】自己写的一个BeanUtils-代码方法详解
转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】BeanUtils工具包是由Apache公司所开发,主要是方便程序员对Bean类能够进行简便的操作。在这里,不讲解如何使用apache的BeanUtils工具,而是我们自己写底层,自己利用类反射来实现BeanUtils的功能。 需要先学习类反射!通过给定bean对象的类原创 2016-08-25 15:12:18 · 4385 阅读 · 2 评论 -
【Apache Ant】ANT解析以及ANT在myEclipse中的使用
转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】维基百科上对Ant的介绍:Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。默认情况下,它的buildfile(XML文件)名为build.xml。每一个buildfile含有一个<原创 2016-08-24 15:14:51 · 4477 阅读 · 0 评论 -
log4j-使用详解与Java的实例应用
转载请注明出处:http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】log4j介绍Log4j,具体的我就不去拷贝官网的介绍了,大家只要知道这是帮助我们记录日志的就可以了。作用就是这2个: 1、跟踪代码的运行轨迹。 2、输出调试信息很简单,但是真的很实用的一个工具!不需要很深入的去了解,但是必须知道如何使用,如何通过Log4j去记录日志,这是必须的!原创 2016-08-23 11:37:28 · 8498 阅读 · 0 评论 -
【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流
找到一篇很详细的Git教程,真的很不错,推荐!!!GitHub操作总结 : 总结看不明白就看下面的详细讲解..作者 :万境绝尘 .GitHub操作流程 :第一次提交 : 方案一 : 本地创建项目根目录, 然后与远程GitHub关联, 之后的操作一样;-- 初始化git仓库 :git init ;-- 提交改变到缓存 :git commi转载 2016-08-22 01:07:18 · 3548 阅读 · 0 评论 -
Java Mail---SMTP协议-Java发邮件(带附件)演示过程
转载请注明出处: http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】JavaMail-API简介:邮件客户端的主要任务是向邮件服务器发送邮件,以及接收来自邮件服务器的邮件。 Sun公司制定了一套API,它封装了邮件通信的各种协议。为Java开发者提供了收发电子邮件的公共接口。需要的jar包mail.jar和activation-1.1.0.jar链原创 2016-08-21 14:07:19 · 10389 阅读 · 7 评论 -
Java Mail---SMTP、POP3协议-DOS下手动收发邮件演示过程
转载请注明出处: http://blog.csdn.net/qq_26525215本文源自【大学之旅_谙忆的博客】E-Mail协议简介:邮件服务器,按照提供的服务类型,可以分为发送邮件的服务器我接收邮件的服务器。 发送邮件的服务器使用发送协议,现在常用的是SMTP协议。所以,通常发邮件的服务器也称为SMTP服务器。 接收邮件的服务器使用接收协议,现在常用的是POP3协议或IMAP协议,所以通原创 2016-08-21 12:43:52 · 5346 阅读 · 4 评论 -
Java---ThreadLocal的用法与理解实现
java.lang 类 ThreadLocal<T> 我们可以称ThreadLocal为:线程本地变量官方API是这样介绍的: 该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal 实例通常是类中的 private static 字原创 2016-08-14 14:23:23 · 6387 阅读 · 1 评论 -
Java---replace与replaceAll的区别
乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,其实大不然,只是替换的用途不一样。这两者很容易搞混,在这里详细讲述下。我们先看下JAVA_API的说明:public String replace(char oldChar,char newChar)使用指定原创 2016-07-23 02:07:21 · 30720 阅读 · 1 评论 -
FileUtils类介绍
Java的文件操作太基础,缺乏很多实用工具,比如对目录的操作,支持就非常的差了。如果你经常用Java操作文件或文件夹,你会觉得反复编写这些代码是令人沮丧的问题,而且要大量用到递归。 下面是的一个解决方案,借助Apache Commons IO工具包(commons-io-1.1.jar)来简单实现文件(夹)的复制、移动、删除、获取大小等操作。import org.apache.common转载 2016-07-22 16:51:56 · 3319 阅读 · 0 评论 -
apache的FileUtils方法大全
FileUtils获取系统的临时目录路径:getTempDirectoryPath() [java] view plaincopyprint?public static String getTempDirectoryPath() { return System.getProperty("java.io.tm转载 2016-07-22 17:02:30 · 8141 阅读 · 0 评论 -
Java新手入门必须掌握的30个基本概念
今天给大家推荐的文章是有关Java基本概念的,掌握好这些基本概念对学习J2SE、J2EE、J2ME都很重要,也能更好地理解Java的精髓,初学者要注意啦!▶Java概述: 目前Java主要应用于中间件的开发(middleware)---处理客户机与服务器之间的通信技术,早期的实践证明,Java不适合pc应用程序的开发,其发展逐渐变成在开发手持设备,互联网信息站,及车转载 2016-07-22 02:31:32 · 5517 阅读 · 1 评论 -
你需要知道的10位Java开发牛人
1、James Gosling 1983 年,Gosling 获得了加州大学的计算机科学学士学位。1990 年,他获得了卡内基梅隆大学的计算机科学博士学位,师从 BobSproull。在攻读博士期间,他自己开发了一款 emacs,叫 Gosling Emacs(Gosmacs),在大学的这段时间,他还开发了一个多处理器版本的 Unix,以及数个编译器和邮件系统,之后才加入 S转载 2016-07-22 02:24:06 · 4379 阅读 · 2 评论 -
Java---XML的解析(2)-DOM4J解析/Xpath
Dom4j: Dom SUN dom在加载时,将所有元素全部加载内存 DOM4j - 第三方。Dom4j是一个开源、灵活的XML API。 目前很多开源框架如struts,hibernate都使用dom4j做为解析其xml的工具。 支持文档的读写功能和Xpath快速查询操作。这个需要我们自己把它的包导入myeclipse中的。 准备DOM4j: 包:dom4j.x.jar 包结构原创 2016-07-05 16:16:53 · 8547 阅读 · 0 评论 -
Java---XML的解析(1)-DOM解析
本章只讲DOM解析。接下来还会学习Dom4j和StAX 解析技术 DOM解析: DOM解析一次将所有的元素全部加载到内存中:如有以下XML文档: <user> <name>Jack</name> <age>30</age> </user>由于DOM解析,一次性的将所有元素(包含属性和文本) 全部加载到内存中,所以不适用于解析大量的数据。JAXP-DO原创 2016-06-30 15:32:31 · 5851 阅读 · 1 评论 -
Java---俄罗斯方块小游戏
去年就已经学了这个技术了,一直没去写,现在抽个时间写了个俄罗斯方块游戏。 只有简单的新游戏,暂停,继续,积分功能。简单的实现了俄罗斯的经典功能。 不介绍了,有兴趣的自己运行一下,后面贴出了图片。代码:package cn.hncu;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.原创 2016-06-11 15:22:51 · 11308 阅读 · 0 评论 -
Java---基于TCP协议的相互即时通讯小程序
这是几年前,新浪的一个面试题~要求是3天之内实现~ 通过TCP 协议,建立一个服务器端。通过配置服务器端的IP和端口: 客户端之间就可以相互通讯~上线了全部在线用户会收到你上线的通知。 下线了全部的在线用户会收到你下线的通知! 可以私聊,可以群聊。这是第一个版本~以后有空可以再增加功能~比如传文件啊~等等~设计思想如下:在服务器端 用一个HashMap服务器端源代码:package cn.h原创 2016-05-16 20:00:35 · 18235 阅读 · 4 评论 -
Java---网络蜘蛛-网页邮箱抓取器~源码
刚刚学完Socket,迫不及待的做了这个网页邮箱抓取~~~ 自己以前做过微商,而且还掏钱买过抓取网络邮箱的软件~现在O(∩_∩)O哈哈~我自己做~当然啦,没有别人做得好~只是功能还是差不多啦~给一个带协议的网站~然后深入网页中查找邮箱~因为博主知识有限~线程池目前还没有学~导致无法控制线程~~~见谅~ 还有~就是没有设置停止按钮~也是因为没学线程池~水平够啊~ 只能关闭软件来停止程序~pack原创 2016-05-12 16:10:31 · 10933 阅读 · 4 评论 -
Java---网络编程(4)-C/S-B/S
C/S 与 B/S☆ C/S ( Client/Server ) 客户端和服务端的特点1、客户端和服务端的软件都需要程序员进行编写。 2、客户端维护起来较为麻烦。(缺陷) 3、客户端的存在可以将一部分运算分离到客户端来运行,减轻了服务器端的压力。(优势)☆ B/S ( Browse/Server ) 浏览器和服务端的特点1、客户端不用程序员编写,直接使用系统中具备的浏览器软件作原创 2016-05-12 00:02:26 · 9773 阅读 · 0 评论 -
Java---网络编程(3)-TCP-互传文件和图片
☆ TCP建立连接,形成传输数据的通道。 在连接中进行大数据量传输 通过三次握手完成连接,是可靠协议 必须建立连接,效率会稍低Socket 和 ServerSocket类TCP传输TCP Socket:IP地址和端口,套接字Socket和ServerSocket 建立客户端和服务器端 建立连接后,通过Socket中的IO流进行数据的传输 关闭socket 同样,客户端原创 2016-05-10 14:25:21 · 16258 阅读 · 1 评论 -
Java---网络编程(2)-UDP
UDP☆ UDP 将数据及源和目的封装成数据包中,不需要建立连接 每个数据报的大小在限制在64k内 因无连接,是不可靠协议 不需要建立连接,速度快DatagramSocket和DatagramPacket类 ☆ TCP 建立连接,形成传输数据的通道。 在连接中进行大数据量传输 通过三次握手完成连接,是可靠协议 必须建立连接,效率会稍低Socket 和 ServerSocket类☆原创 2016-05-08 16:15:34 · 9479 阅读 · 0 评论 -
Java---网络编程(1)
网络编程相关基础概念1、计算机网络与Internet 2、TCP/IP协议 3、Internet地址 - - -IP地址,形如xxx.xxx.xxx.xxx - - -域名系统。例如www.edu.cn *URL(统一资源定位符) 协议 :// 主机 [: 端口] [/ 文件] [# 引用] *客户-服务器(Client-Server)模式 网络模型与通讯要素1、网络模原创 2016-05-08 00:13:14 · 4424 阅读 · 0 评论 -
Java---实现运行任意目录下class中加了@MyTest的空参方法(实现图形界面)
说明:因为上个代码,总是要输入完整的绝对路径,比较麻烦,于是,就写了这个小程序,直接进入文件对话框选择需要运行的class文件。只需要提前输入完整的类名。测试的类:package cn.hncu.myJuniitApp;import cn.hncu.myJuniitApp.vo.MyTest;public class MyJunitTest { public void run1(){原创 2016-05-06 19:51:40 · 10188 阅读 · 0 评论 -
Java---获得系统窗口的分辨率
//获得系统屏幕分辨率//得到当前屏幕的分辨率:Toolkit.getDafaultToolkit().getScreenSize()Toolkit t = Toolkit.getDefaultToolkit() ;Dimension size=t.getScreenSize(); //如果系统屏幕分辨率是1024*768时,//size.getWidth()的值为1024//size.g原创 2016-05-06 18:34:07 · 4783 阅读 · 0 评论 -
Java---注解、类加载器-加强-实现运行任意目录下class中加了@MyTest的空参方法
做自己的类加载器 虚拟机的核心是通过类加载器来加载.class文件,然后进行相应的解析执行。那么我们可以自己做类加载器,手动加载需要的.class以进行解析执行,从而扩展虚拟机的功能。 以下内容摘自API文档:应用程序需要实现 ClassLoader 的子类,以扩展 Java 虚拟机动态加载类的方式。网络类加载器子类必须定义方法 findClass 和 loadClassData,以实现从网络加载类原创 2016-05-06 17:38:42 · 12973 阅读 · 0 评论