自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 收藏
  • 关注

原创 Springboot+Spring data jpa+postgresql

postgresql数值数据类型postgresql字符串数据类型日期数据类型

2021-07-17 10:01:33 249

原创 Jpa规范和Hibernate

JPA是什么jpa是使用注解或者xml来实现对象和关系表之间的映射关系。JPA规范ORM映射元数据:JPA支持XML和注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中JPA 的API:用来操作实体对象,执行CRUD操作,框架在后台替我们完成所有的事情,开发人员不用再写SQL了JPQL查询语言:通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。Hibernate是什么Hibernate是Java关系对象映射解决

2021-07-16 10:30:49 146

原创 Spring Cloud 配置中心

1.配置中心的作用一个应用中不只是代码,还需要连接资源和其它应用,经常有很多需要外部设置的项去调整应用行为,如切换不同的数据库,设置功能开关等。随着系统微服务的不断增加,首要考虑的是系统的可伸缩、可扩展性好,随之就是一个配置管理的问题。各自管各自的开发时没什么问题,到了线上之后管理就会很头疼,到了要大规模更新就更烦了。而且你不可能停止你的服务集群去更新的你配置,这是不现实的做法,因此springcloud配置中心就是一个比较好的解决方案,下图就是一个springcloud配置中心的解决方案:2.S

2021-07-08 09:29:21 347

原创 微服务架构入门

一、SOA思想创建一个工程部署在服务器上,服务器中有许多方法,并且为这些方法提供接口去给别的应用比如APP、WEB等调用,调用方式可以是http链接,或者是基于socket的RPC调用。就是说把这个操作封装到一个工程中去,然后暴露访问的方式,形成服务。这个方法解决了在多个端都需要写同一段代码的问题,体现了封装的思想。1.1 SOA的好处1.1.1 拓展方便当某个功能因为被频繁调用而使服务器压力过大时,可以将这个功能单独集群部署到新的服务器,缓解服务器压力。集群和分布式的区别:集群是两个单位做一样的

2021-07-06 17:10:43 96

原创 微电子

大概15张ppt项目名称,项目简介,个人在项目中承担怎样的职责,做了哪些技术工作,项目成果展示等1、首先介绍一下项目的背景,这个项目是做什么的,有什么用?甚至他的商业目的是什么,达到了什么样的效果(规模)也都可以说说。2、介绍项目都使用了哪些技术,为什么要使用这些技术,如果后期流量增大10倍,你的优化方案是什么?3、谈谈这个项目中最值得展示的技术方案,阐述采用这种方案的逻辑,以及其它备选方案的优劣。你在在这个项目中都负责哪些部分、起到的作用?新职通项目项目简介新职通项目分为课程培训,企业委培

2021-03-23 21:56:25 200

原创 笔试

一级目录二级目录三级目录关于Java中参数传递的说法,哪个是错误的参数传递方式:值传递和引用传递在方法中,修改一个基础类型的参数不会影响原始参数值在方法中,改变一个对象参数的引用不会影响到原始引用在方法中,修改一个对象的属性会影响原始对象参数在方法中,修改集合和Maps的元素会影响原始集合参数解析: 注意!Java中方法的参数传递都是值传递A. 在方法中,修改一个基础类型的参数不会影响原始参数值public static void main(String []args){ in

2021-03-20 15:32:10 338

原创 BIO,NIO,AIO

什么是BIOBIO是同步阻塞IO,当客户端向服务端请求通信时,服务端会建立一个ServerSocket来与客户端进行阻塞式的通信。缺点 : 每次一个客户端接入都会使ServerSocket建立一个新的线程,当有大量客户端来请求时,会使服务端过载。什么是NIONIO是一种同步非阻塞IO通过selector监听多个channel来做到用一个线程来处理多个操作的一个selector线程不断的轮询所有的socket连接,发现有事件了就通知你,然后你就启动一个线程处理一个请求即可,这个过程的话就是非阻塞

2021-03-15 21:35:10 91

原创 工作流项目具体操作和问题

1.节点催办设置里的groovy条件脚本怎么在程序中运行2.新增催办中设置的条件脚本的作用是什么,用户新增脚本后,我们如何在程序中运行,前后端请求参数,返回参数是什么,前端请求参数中的代码应该怎么操作。...

2021-03-01 16:19:14 340

原创 AOP

AOP的核心:代理模式代理模式的分类1.静态代理2.动态代理静态代理静态代理中的角色抽象角色,一般会使用接口或者抽象类来解决(租房)真实角色:被代理的角色(房东)代理角色:代理真实角色(中介)客户:访问代理对象的人(租房的人)3.代理角色****代理模式的好处:1.可以使真实角色的操作更加纯粹,不用去关注一些公共的业务2.公共业务都交给代理来完成,实现了业务的分工3.公共业务需要拓展的时候方便集中管理缺点:一个真实角色就会产生一个代理角色,代码量会增加,开发效率

2021-01-13 21:49:41 133

原创 JAVA 反射机制

JAVA对象,类的关系以及它们在JVM中的位置左边是方法区,类存放在方法区中间是栈,存放类的引用右边是堆,存放对象Class是说明书的说明书,它告诉了我们说明书该怎么写,比如可以有方法,属性等我们写的class都是说明书,比如可以有哪些方法,哪些属性,如Dog类,User类...

2021-01-11 21:52:03 115

原创 Spring 面试题

1.什么是IOC控制反转IoC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法IoC是Spring框架的核心内容,使用多种方式完美的实现了IoC,可以使用XML配置,也可以使用注解,新版本的Spring也可以零配置实现IoC。对象由Spring来创建,管理,装配将对象放到Spring容器中管理1.在resource目录下创建配置文件,将对象通过id和class放入Spring容器2.通过classpathXMLApplicationConte

2021-01-07 21:46:59 350

原创 31.下一个排列

解题思路用两个循环数组来确定要交换的左右两个数第一个数组确定左边第二个数组确定右边左边要比右边小才能进行交换1.从后往前遍历,如果后面的数就已经可交换字典序了,那自然不用管前面的了2.左边要交换的数要从后往前遍历,右边交换的数也要从后往前遍历,因为右边的数已经是从大到小排列的了,不然左边要交换的数早就在1中被锁定了,到不了当前这个元素这步3.将left右边的数进行升序排列,来达到最小的效果代码下面展示一些 内联代码片。class Solution { //判断当前的是不.

2020-12-31 14:24:03 152 1

原创 工作流B站学习项目

1.待办,已办所在的表act_ru_task待办的表act_ru_task t1 inner join act_id_user t2on t1.ASSIGNEE = t2.IDinner join act_ru_execution t3on t1.PROC_INST_ID_=t3.PROC_INST_ID_已办是从历史表中查询的流程结束后会把ru表即运行表中的数据删除但是历史表中的数据是一直存在的,是最全的...

2020-12-30 21:17:00 98

原创 22.括号生成

标题解题思路1.用回溯的方法,对下一个情况进行判断,根据传入的是左括号还是右括号来处理2.count指已输入的左括号,count1指还未删除的左括号,这两个都是用int来存的,因为int是值传递,在函数中进行修改不会影响值本身,而如果将count改为stack类型的数,就会改变本身的值,这样就会很麻烦。代码下面展示一些 内联代码片。// A code blockvar foo = 'bar';// An highlighted blockvar foo = 'bar';class

2020-12-30 16:43:59 78

原创 17. 电话号码的字母组合

解题思路此题可以用递归的方法从上一个数字往下递归,形成树的结构用String的话不用删除原先加入的字母,比较方便,因为String是复制一个备份到函数中,不会改变原来的String用StringBuilder的话在结束递归后得把加入的字母删除代码下面展示一些 内联代码片。class Solution { ArrayList<String>ans=new ArrayList<>(); String []numberlist= {.

2020-12-30 14:11:09 85

原创 15.三数之和

题目描述解题思路用两个循环,时间复杂度为n的平方最关键的问题是去重首先对数组进行排序,排序后固定一个数 nums[i]nums[i],再使用左右指针指向 nums[i]nums[i]后面的两端,数字分别为 nums[L]nums[L] 和 nums[R]nums[R],计算三个数的和 sumsum 判断是否满足为 00,满足则添加进结果集如果 nums[i]nums[i]大于 00,则三数之和必然无法等于 00,结束循环如果 nums[i]nums[i] == nums[i-1]nums[i−

2020-12-27 20:49:54 115

原创 12.整数转罗马数字

代码public class Solution {public String intToRoman(int num) { // 把阿拉伯数字与罗马数字可能出现的所有情况和对应关系,放在两个数组中,并且按照阿拉伯数字的大小降序排列 int[] nums = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}; String[] romans = {"M", "CM", "D", "CD", "C", "XC", "L",..

2020-12-27 15:18:08 70

原创 11.盛最多水的容器

代码class Solution {public int maxArea(int[] height) {int size=height.length;int left=0,right=size-1;int max=0;while(left<right){if(height[left]<=height[right]){int sum=(right-left)*height[left];left++;if (sum>max)max=sum;}else{in..

2020-12-25 19:16:49 84

原创 9. 回文数

解题思路不将整数转换为字符串1.得到整数的位数,判断出整数是几位数的2.得出当前整数的最高位和最低位,进行比较是否相同3.如果相同,则将整数用几位数取余再/10则可得出当前整数去除最高位和最低位后的新整数int div = 1;//while (x / div >= 10) div *= 10;获取整数是几位数的代码总体代码class Solution {public boolean isPalindrome(int x) {//边界判断if (x < 0) retu.

2020-12-22 16:17:12 86

原创 整数反转

需要注意的点判断整数溢出if (count>214748364 || (count214748364 && z>7)) {return 0;}if (count<-214748364 || (count-214748364 && z<-8)) {return 0;}数据范围为-2147483648 到2147483647[-231~231-1]注意,要先提前判断整数是否会溢出,在确定了整数不会溢出后再把最后一位加到整数上count.

2020-12-21 17:15:05 143

原创 设计模式

1.什么是设计模式设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。本教程将通过 Java 实例,一步一步向您讲解设计模式的概念。+2.spring中用到的设计模式第一种:简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式的实质是由一个工

2020-12-02 19:34:42 132 1

原创 demo

流程脚本脚本列表请求地址:Request URL: http://demo.jeesite.com/js/a/bpm/bpmScript/listDataRequest Method: POST入参:Form data:scriptName: scriptLang: scriptType: remarks: status: pageNo: pageSize: orderBy: 出参:{ "count": 3, "list": [{ "id": "12000476

2020-11-30 16:59:54 96

原创 bpmn文件中的语法详解

assignee

2020-11-26 11:46:09 817 1

原创 junit 单元测试常用注解

JUnit 4 开始使用 Java 5 中的注解(annotation),常用的几个 annotation 介绍:@BeforeClass:针对所有测试,只执行一次,且必须为static void@Before:初始化方法@Test:测试方法,在这里可以测试期望异常和超时时间@After:释放资源@AfterClass:针对所有测试,只执行一次,且必须为static void@Ignore:忽略的测试方法一个单元测试用例执行顺序为: @BeforeClass –> @Before –&g

2020-11-25 17:22:42 348

原创 请假流程中使用到的表

1.act_ge_bytearrayACT_GE_BYTEARRAY (二进制文件)保存流程的bpmn的xml以及流程的Image缩略图等信息字段字段名称字段默认值是否允许为空数据类型字段长度键备注ID_主键NOvarchar64PRIREV_版本号NULLYESintNULLversionNAME_名称NULLYESvarchar255部署的文件名称,如:mail.bpmn、mail.png 、mail.bpmn

2020-11-25 14:34:32 390

原创 flowable工作流学习笔记

这里写目录标题一级目录二级目录三级目录什么是BPMNFlowable简介Activiti 中的 Start event(启动事件元素)介绍Activiti中的activiti:expression和activiti:delegateExpression有什么区别?会签和或签的概念多实例实现会签功能Flowable-BPMN操作流程部署启动方案设计一级目录二级目录三级目录什么是BPMNBPMN定义了一个业务流程图(Business Process Diagram),该业务流程图基于一个流程图(flo

2020-11-21 16:50:22 2814 3

原创 剑指 Offer 32 - I. 从上到下打印二叉树

从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回:[3,9,20,15,7]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解题思路用一个数列来完成层次

2020-11-20 22:03:08 68

原创 树的子结构

剑指 Offer 26. 树的子结构输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:给定的树 A:3/ 4 5/ 1 2给定的树 B:4/1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。示例 1:输入:A = [1,2,3], B = [3,1]输出:false示例 2:输入:A = [3,4,5,1,2], B = [4,1]输出:true代

2020-11-19 18:04:45 72

原创 剑指 Offer 27. 二叉树的镜像

剑指 Offer 27. 二叉树的镜像请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4/ 2 7/ \ / 1 3 6 9镜像输出: 4/ 7 2/ \ / 9 6 3 1示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]限制:0 <= 节点个数 <= 1000注意:本题与主站 226 题相同:https://leetcode-cn.com/p

2020-11-17 10:24:51 63

原创 JAVA 多线程

什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层面对多线程提供了卓越的支 持,它也是一个很好的卖点。java.util.concurrent.CountDownLatchCountDownLatch这个类能够使一个线程等待其他线程完成各自的工作后再执行。例如,应用程序的主线程希望在负

2020-11-16 20:42:22 153

原创 105. 从前序与中序遍历序列构造二叉树

从前序与中序遍历序列构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:3/ 9 20/ 15 7解题思路用递归的方式前序遍历的数组为 根节点–左子树–右子树中序遍历的数组为 左子树–根节点–右子树递归数组要传入两个遍历数组,当前树的前序遍历数组的左边界下标和右边界下标,同理还有当.

2020-11-16 15:24:42 84

原创 跳台阶

时间复杂度很麻烦的算法,class Solution { //直接递归的话会超时 public int numWays(int n) { // int num1=n+1; // int array[]=new array[num1]; if(n==0) return 1; if(n==1) return 1; if (n==2)

2020-11-15 20:42:14 52

原创 剑指 Offer 11. 旋转数组的最小数字

把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof

2020-11-15 16:00:30 50

原创 java 多线程

线程池如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务?在Java中可以通过线程池来达到这样的效果。映射到java中,我们创建指定数量的线程,然后把任务放在一个队列中去处理,然后每个线程处理完任务就会去队列中取出下一个任务执行。可以把线程重复利用,因为创建线程也是非常消耗资源的。所以结论就是:在一定范围内增

2020-11-13 17:55:05 84

原创 操作系统

1.操作系统的主要功能1.进程管理2.存储管理3.设备管理4.文件管理

2020-11-12 09:46:20 55

原创 用两个栈实现队列

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型 public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(int node) {

2020-11-07 21:49:52 84

原创 判断字符串中的各种括号是否是正确对应的

给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)]”输出: false示例 5:输入: “{[]}”输出: true下面展示一些 内联代码片。cla

2020-11-05 21:24:11 1178

原创 合并两个排序好的链表

将两个有序的链表合并为一个新链表,要求新的链表是通过拼接两个链表的节点来生成的。下面展示一些 内联代码片。// A code block/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public Li

2020-10-20 21:53:51 217

原创 Java常考面试题

作者:网线线链接:https://www.nowcoder.com/discuss/541031来源:牛客网一面30min:基础知识!基础知识!二分法面向对象的概念多态JVM内存equals和==集合类,熟悉的介绍一下事务隔离级别MySQL的默认隔离级别为什么要三次握手linux常用指令转行怎么学习的反问问了技术栈差不所半小时都是基础知识,各个方面都问了,想起来再补充。。内存溢出顺丰一面:1.自我介绍2.聊一下Java线程,并发机制。3.聊一下策略模式。4.说一

2020-10-17 14:56:31 228 2

原创 2020-10-17

下面展示一些 内联代码片。// A code blockvar foo = 'bar';// An highlighted blockpackage java1; class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val.

2020-10-17 12:18:00 56

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除