- 博客(45)
- 资源 (2)
- 收藏
- 关注
原创 二进制安装k8s v1.22.8集群
k8s 1.22.8 安装K8S集群角色Ip主机名安装的组件控制节点192.168.10.162k8s-master01etcd、docker、kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy、kubelet、flanneld、keepalived、nginx控制节点192.168.10.163k8s-master02etcd、docker、kube-apiserver、k
2022-05-15 21:01:01
2356
1
原创 mybatis实现Oracle和mysql的批量插入
昨天在面试时,面试官问到了这个问题,对于两种数据库的批量插入,其实在项目上都用到过,但是由于长时间不看,在回答时没有答上来,因此,在这里把项目中使用到的实现方式整理了一下,方便以后查看oracle批量插入接口类PrpjPolicyInvoiceMapperpublic interface PrpjPolicyInvoiceMapper { void batchInsert(List&...
2019-04-12 14:46:43
540
转载 AopProxyUtils.getSingletonTarget(Ljava/lang/Object;)Ljava/lang/Object
转发以作记录,原文链接 https://blog.csdn.net/panguang9713/article/details/77471330 项目启动时,一直报这个异常,在网上找了很久,终于在这个文章上找到了解决方案当你到我的博客恭喜你找到问题解决办法了,因为当我出现这个问题的时候翻遍了百度和谷歌,没找到一篇相关的。唯独有一个人写了,但是并没有解决我的问题:http://blog.csd...
2018-08-17 08:39:32
917
原创 数据库多维度order by 排序分析
数据库多维度order by 排序分析案例开发一个类似与咸鱼app的产品,其中有个需求是在登录用户打开app时,首页展示其他人发布的商品列表, 商品信息中包含商品信息、发布时间、发货地点,取货方式等多个字段,现有需求:展示信息优先将同城且支持上门的需求按最新发布时间排序 其次显示同城支持快递的,然后是不同城支持快递的,最后是不同城且不支持快递的,每页数据20条进行分页。表结...
2018-08-15 09:24:03
2758
1
原创 linux虚拟机连接主机MySQL
将在windows下面开发的Java 项目打成war包,然后上传到linux虚拟机里面,放到tomcat里面运行,项目启动没什么问题,但运行时报错了 经判断是连接不上主机的MySQL数据库了, 由于虚拟机上面没有安装MySQL数据库,此时连接主机数据库就相当于远程登录数据库,此时就需要在主机上面配置一下,让其他主机能够远程连接本地数据库 首先进入MySQL服务器 之后执行UPDATE
2017-12-18 14:05:39
4945
1
原创 java学习笔记一--classpath设置
java学习笔记–classpathJava的安装和配置在网上都能找到很多,在这里就不一一叙述了,在这里主要有一点需要注意 classpath环境变量的设置 几乎每一本介绍java入门的书里都会介绍classpath环境变量的配置,在网上也有很多,但对于classpath环境变量的作用则常常语焉不详。 其实,如果使用1.5以上版本的JDK,完全可以不用设置classpath环境变量就能正常运行程
2017-12-10 21:34:07
229
转载 mysql设置初始密码和更改密码(ZIP文件解压安装)
ZIP文件安装(Win7):设置环境变量,MYSQL_HOME=ZIP解压所在目录,然后添加在path中;在cmd中输入mysqld -install安装成功之后,cmd输入net start MySQL启动服务即可。1、mysql安装之后默认root密码是空输入mysql -uroot 即可进去mysql进去之后怎样设置初始密码呢:执行use mysql ; update user set pa
2016-10-09 22:05:01
1357
原创 maven的安装及集成到eclipse
下载maven的bin,在apache官方网站可以下载。 下载下来之后,解压,找个路径放进去, 把bin的位置设在环境变量里,新建环境变量MAVEN_HOME 在PATH里加入maven的bin的路径 由于Maven依赖Java运行环境,因此使用Maven之前需要配置Java的运行环境。下载并安装JDK,配置JDK的环境变量JAVA_HOME,否则maven将无法使用 配置完毕后,在Wi
2016-10-09 18:59:14
320
原创 面试题集锦(不定期更新)
1. 为什么不用数组表示一切?仅仅使用数组似乎就可以完成所有的工作,为什么不用它来进行所有的数据存储呢?我们已经见到了使用数组的所有缺点,在一个无序数组中插入数据很快(O(1)),但是查找却需要很长的时间;在一个有序数组中查找数据很快,用O(logN)时间,但插入却需要O(N)的时间;对于这两种数组而言,由于平均半数的数据项为了填补“空洞”必须移动,所以删除操作平均需要O(N)时间。 数据的另外一
2016-09-22 18:15:15
397
原创 java插入排序和冒泡排序
最近正在找工作,由于是找实习,被问到了很多的基础题,尤其是排序这一块,现在把自己熟悉的两中排序写出来,以供以后复习,冒泡排序冒泡排序算法运行起来非常慢,但在概念上来说它又是最简单的,因此冒泡排序算法在刚开始研究排序技术时是一个非常好的算法。以下是冒泡排序要遵循的规则:比较两个数据;如果前面的数据比后面的数据大,则数据之间进行交换操作;向后移动一个位置,比较下面两个数据;但碰到第一个排好顺
2016-09-22 18:03:22
503
原创 ubuntu16安装jdk1.8
先从Oracle官网下载JDK。先选择同意按钮,然后根据自己的系统下载相应版本。我的系统是Ubuntu16 64位的,所以我下载 我之前已经下载好了 创建一个目录/usr/local/java以便于把下载解压后的包放到这个目录下Sudo mkdir /usr/local/java解压并把解压后的jdk1.8.0_91文件夹放到/usr/local/java 目录中。sudo tar z
2016-08-02 16:36:30
409
原创 spring学习(三)—AOP
Aspect Oriented Programming 面向切面编程。解耦是程序员编码开发过程中一直追求的。AOP也是为了解耦所诞生。AOP/OOPAOP、OOP在字面上虽然非常类似,但却是面向不同领域的两种设计思想。OOP(面向对象编程)针对业务处理过程的实体及其属性和行为进行抽象封装,以获得更加清晰高效的逻辑单元划分。 而AOP则是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某
2016-07-05 22:18:48
2158
1
原创 spring学习(二)—通知
通知类型1、Spring只支持方法通知,也就是说,只能在方法的前后进行通知,而不能在属性前后进行通知。 2、Spring支持四种通知类型:目标方法调用前(before),目标方法调用后(after),目标方法调用前后(around),以及目标方法抛出异常(throw)。 3、前置通知的类必须实现MethodBeforeAdvice接口,实现其中的before方法。 4、后置通知的类必须实现Af
2016-07-03 11:36:51
3904
原创 Spring学习(一)—入门
Spring是什么?Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。 struts是web框架,Hibernate是O/RM框架Spring是容器框架,用于配制bean并维护bean之间关系的框架。Spring
2016-07-03 10:19:35
1345
原创 Javassist的动态代理实现。
一提到jdk中的java.lang.reflect.Proxy,用过spring,hibernate等框架的人应该都有所了解,对!就是动态代理。AOP - 面向切面编程 - 就是基于动态代理实现的。 为什么要提代理模式。因为AOP的广泛实现都是通过动态代理,而动态代理又不得不说代理模式。 代理模式,顾名思义,就是对一个类的访问,变为访问这个类的代理人。经由代理再访问这个类。(代理与被代理的类实
2016-07-02 12:00:11
8235
原创 java动态代理(JDK和cglib)
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务。 按照代理的创建时期,代理类可以分为两
2016-07-01 22:58:28
480
原创 Struts2学习(九)—拦截器之登录权限
大部分 Action共享常见的关注点. 一些Action需要输入验证. 另外一些Action可能需要预处理文件上传. 还有一些 Action可能需要防止重复提交 . 许多Action需要在页面显示前生成下拉列表和其他控件.框架使用 “拦截器” 策略使得解决共享这些关注点变得十分容易. 当你请求与某个 “action”匹配资源, 框架将调用 Action对象. 但是, 在Action执行前, 调用可以
2016-06-30 15:50:53
2791
1
原创 Struts2学习(八)—文件上传和下载
在做B/S系统时,通常会涉及到上传文件和下载文件,在没接struts2框架之前,我们都是使用apache下面的commons子项目的FileUpload组件来进行文件的上传,但是那样做的话,代码看起来比较繁琐,而且不灵活,在学习了struts2后,struts2为文件上传下载提供了更好的实现机制,在这里我分别就单文件上传和多文件上传的实现进行一下讲解,这里 我们使用的struts2 web项目所导
2016-06-27 12:04:12
3064
1
原创 Struts2学习(七)—类型转化
为什么要转换因为我们调用request.getParameter(“xx”)或request.getParameterValues(“xx”)来获取参数值,它们返回值类型是String和String[],可 能跟我们希望的类型不一致,这个时间就要完成类型转换。同时对象输出到html页面上时,也要完成对象转成String类型Struts2能自动完成的类型转换struts2使用下面的XWorkBasi
2016-06-26 14:10:47
1993
原创 Struts2学习(五)—表单验证 XML
简介在本实例我们包含如何验证在表单字段输入使用 Struts 2的 XML验证技术.在 之前的学习中我们讨论了在Action类的validate方法进行表单验证. 使用分离的 XML验证文件可以使用 Struts 2 框架内置的验证器的验证能力.之前我们学习了在代码写验证,但是如果验证规则变了,要修改代码,不灵活,因而struts2提供了基于xml验证规则,使用struts的内置验证器来执行验证使用
2016-06-26 00:24:02
900
原创 Struts2学习(六)—国际化
在很多成熟的商业软件中,可以让用户自由切换语言,当用户进入系统时候,可以出现一个下拉列表框,让用户选择语言,一旦用户选择了自己需要使用的语言环境,整个系统的语言环境将一直是这种语言环境。 Struts2也可以允许用户自行选择程序语言。而且,因为Struts2的支持,在程序中自行选择语言环境将变得更加简单。一. Struts2国际化的运行机制 在Struts 2中,我们可以通过ActionCont
2016-06-25 23:31:47
400
原创 Java反射机制的学习
概念反射就是把Java的各种成分映射成相应的Java类。 Class类的构造方法是private,由JVM创建。 反射是java语言的一个特性,它允程序在运行时(注意不是编译的时候)来进行自我检查并且对内部的成员进行操作。例如它允许一个java的类获取他所有的成员变量和方法并且显示出来。Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pas
2016-06-24 20:34:07
1625
原创 Struts2学习(五)—表单验证
上一篇我们学习了struts2中的表单提交数据,我们注意到在我们输入数据时,我们并没有在HTML上编写JavaScript用于输入数据的验证 我们先看下面的一个例子 注意看,我们在age文本框中输入了字符 ,我们知道age 是int类型的此时输入了string类型的数据会怎么处理呢? 提交表单,出现了异常: 注意看异常信息 上面说返回了input 而我们的reslult没有定义
2016-06-24 18:57:16
433
原创 Struts2学习(四)—表单处理
通过前面的学习,我现在已经学会了在Struts2中使用OGNL了,现在就写一个表单注册的功能作为练习表单和 Java 模型类对于本实例,我们假设我们需要用户提交披萨订购信息. 我们的业务规则强调用户必须提供他/她 first name, last name, email address和age.要封装这些数据, 我们使用遵守Java Bean规范 (public set/get 方法对每个实例字段)
2016-06-24 13:55:25
523
原创 MongoDB ——windows安装
什么是MongoDB ?MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。 主要
2016-06-22 14:06:26
525
转载 NoSQL——简介
NoSQL 简介NoSQL(NoSQL = Not Only SQL ),意即”不仅仅是SQL”。在现代的计算系统上每天网络上都会产生庞大的数据量。这些数据有很大一部分是由关系数据库管理系统(RDMBSs)来处理。 1970年 E.F.Codd’s提出的关系模型的论文 “A relational model of data for large shared data banks”,这使得数据建模和应
2016-06-22 13:37:27
484
原创 Struts2中的OGNL
根和上下文对象框架设置 OGNL上下文对象为ActionContext, value stack是OGNL的根对象. ( value stack 包含多个对象, 但是对OGNL来说就好像是一个 对象)。和 value stack一起,框架把其他对象放置到 ActionContext中, 包括代表application, session和request 上下文的map.这些对 象和value st
2016-06-21 23:59:37
321
原创 hibernate延迟加载分析
在hibernate中我们知道如果要从数据库中得到一个对象,通常有两种方式,一种是通过session.get()方法,另一种就是通过session.load()方法,然后其实这两种方法在获得一个实体对象时是有区别的,在查询性能上两者是不同的。一.load加载方式当使用load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当我们使用session.l
2016-06-21 19:45:23
378
原创 Struts2学习(三)—OGNL
基本介绍OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。它使用相同的表达式去存取对象的属性。常量OGNL有如下类型的常量: 1. String字面量, 跟 Java一样 (除了可以单引号): 使用单引号或双引号, 以及转义
2016-06-21 14:29:29
397
原创 Struts2学习(二)--使用struts2编写helloworld
在 Struts 2 web 应用中,当你单击一个超级链接或提交一个表单, 输入木有直接发送到另外一个页面而是一个你提供的 Action类. 在 Action 调用后一个Result 选择一个资源作为请求的响应. 资源通常是服务器页面, 但也可能是PDF 文件, 一个Excel 表格, 或Java applet窗口.假设你想创建一个简单 “Hello World”示例来显示欢迎信息 .在设置好的空的
2016-06-20 23:53:00
416
转载 Oracle递归查询:使用prior实现树操作
原作者:叶德华 原文链接:http://yedward.net/?id=41oracle树查询的最重要的就是select…start with…connect by…prior语法了。依托于该语法,我们可以将一个表形结构的数据以树的顺序列出来。在下面列述了oracle中树型查询的常用查询方式以及经常使用的与树查询相关的oracle特性函数等,在这里只涉及到一张表中的树查询方式而不涉及多表中的关联等
2016-06-20 23:14:27
409
原创 Hibernate中的三种查询HQL、Criteria、Sql学习(三)
这篇随笔将会记录hql的常用的查询语句,为日后查看提供便利。在这里通过定义了两个类,Type Type来做测试, Type与Type是一对多的关系,这里仅仅贴出这两个bean的属性代码: Type类: private static final long serialVersionUID = 1L; private int id; private String name;
2016-06-20 16:11:57
1630
原创 Struts2学习(一)--maven搭建Struts2框架的开发环境
在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标Struts设计的第一目标就是使MVC模式应用于web程序设计。在这儿MVC模式的好处就不在提了。技术优势Struts2有两方面的技术优势,一是所有的Struts2应用程序都是基于client/server HTTP交换协议,The Java Servlet API揭示了Java Ser
2016-06-19 23:47:31
1167
转载 jQuery-ui插件datepicker的参数使用详解
概述日期选择插件是一个配置灵活的插件,你可以定义它的展示方式,包括日期格式、语言、限制选择日期范围、添加相关按钮以及其它导航等。同时,你还可以通过键盘控制它:page up/down - 上一月、下一月ctrl+page up/down - 上一年、下一年ctrl+home - 当前月或最后一次打开的日期ctrl+left/right - 上一天、下一天ctrl+up/down - 上一周、下一周e
2016-06-17 17:59:44
1566
原创 Jquery 日期选择控件
我们在写HTML时,有时候要用到输入日期的文本框,比如:注册信息时,这时我们输入日期大多需要手动输入,这样显得很不方便,并且传到后台时有时候格式不对,有没有控件来让输入日期更方便呢? 在这里我向大家介绍一个工具,它可以帮助我们很方便的完成输入日期,并可以自定义格式 The jQuery Plugin Registry 这个网站有许多的jquery 插件我们的日期插件就在其中我们搜索 jQue
2016-06-17 17:26:53
4367
原创 Ajax学习(二)
Ajax技术的核心是XMLHttpRequest对象(简称XHR),可以通过使用XHR对象获取到服务器的数据,然后再通过DOM将数据插入到页面中呈现。虽然名字中包含XML,但Ajax通讯与数据格式无关,所以我们的数据格式可以是XML或JSON等格式。XMLHttpRequest对象用于在后台与服务器交换数据,具体作用如下:在不重新加载页面的情况下更新网页在页面已加载后从服务器请求数据在页面已加载
2016-06-17 15:35:06
359
原创 Ajax学习(一)
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。 AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对
2016-06-17 13:38:48
423
原创 Hibernate中的三种查询HQL、Criteria、Sql学习(二)
Hibernate的 native sql 查询在我们的hibernate中,除了我们常用的HQL查询以外,还非常好的支持了原生的SQL查询,那么我们既然使用了hibernate,为什么不都采用hibernate推荐的HQL查询语句呢?这是因为HQL查询语句虽然方便我们查询,但是基于HQL的查询会将查询出来的对象保存到hibernate的缓存当中,如果在我们的一个大型项目中(数据量超过了百万级),这
2016-06-16 23:16:13
508
原创 Hibernate中的三种查询HQL、Criteria、Sql学习(一)
Criteria 查询Criteria 查询采用面向对象方式封装查询条件,又称为对象查询;就是对SQL 语句进行封装,采用对象的方式来组合各种查询条件由Hibernate 自动产生SQL 查询语句Criteria的使用Criteria由Hibernate Session进行创建 Criteria只是个容器,如果想要設定查詢條件,則要使用add()方法加入Restrictions的条件限制 查
2016-06-15 23:45:41
550
原创 浅谈java中的TreeSet中的排序方式
TreeSet 和HashSet的区别HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的,只不过Set用的只是Map的keyMap的key和Set都有一个共同的特性就是集合的唯一性.TreeMap更是多了一个排序的功能.hashCode和equal()是HashMap用的, 因为无需排序所以只需要关注定位和唯一性即可. a. hashCode是用来计算hash
2016-05-25 11:14:27
4057
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人