java动态代理 代理就是将一个对象的方法进行增强,让方法更有丰富的内容。主要是解决在一个原来的业务逻辑上添加一些辅助性的信息,让业务逻辑更加完善丰富。1.jdk自带的动态代理只能进行接口的动态代理。静态代理只能代理一种接口实现的类。动态代理可以对实现任何接口的实现类进行代理。同时可以代理一个接口中的所有方法。public class ProxyFactory { //只能是有接口的类才能被代理 //o:就是接口实现的实例Student() public Object getProxyInt
java hashcode与equals解析说明 类中的hashcode方法是在有hash相关的集合容器(在容器的名字上带有hash字眼)中才能够使用这个方法,其他情况下不用重写这个方法。Object类中的hashCode方法是一个本地方法,是直接获取对象的内存地址。一般的观点是在hash相关的容器中,判断元素是否相等时,首先先判断hashcode是否相等,如果相等通过equals()方法来判断元素的内容是否相等。这样一来就可以大量减少对equals的操作,让程序速度更快。hashCode方法和equals方法必须同时覆盖。否则在容器中就达不到想要的
java异常 java异常处理#mermaid-svg-GDfpaE2KWwFvOiKl .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-GDfpaE2KWwFvOiKl .label text{fill:#333}#mermaid-svg-GDfpaE2KWwFvOiKl .node rect,#mermaid-svg-G
单链表的反转 单链表的反转单链表进行反转,前边的变成后边的,后边的变成前边的,进行相对应的反转。public class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val = val; this.next = next; }}/**
vue的组件 vue组件的关键说明主要是组件的使用,组件中的数据的输入和输出,这些的关键代码是什么。这些都是开发的关键信息。0.组件的基本使用基本使用不涉及组件数据的输入和输出。//前端页面<div id="components-demo"> <button-counter></button-counter></div>// 组件定义Vue.component('button-counter', { data: function () {
捕获RuntimeException 捕获RuntimeExceptionruntimeException在java中是不被检查的,如何让抛出的runtimeException能够捕获到,并进行相应的处理。try{ //调用可能出现runtimeException的方法 XXXXXXXXXXXXXXXX}catch(Exception e){ try{ throw e.getCause(); }catch(Throwable th){ //进行相应的捕获之后的处理 XXXXXXXXXXXXXXXXXX }}.
SQL语句中批量插入 SQL语句中批量插入1.介绍说明 在程序中需要同时插入多条数据的写法,其中mysql和oracle两种写法存在一些差异。oracle数据库insert into <tableName> (<files>) (select <filesValues1> from dual) union all (select <filesValues2> from dual);MySQL数据库insert into <tableName>
JDK中的观察者模式 JDK中的观察者模式观察者模式一群人看着一个东西而做出相应的反应。由于这种模式很常用,jdk中就进行了一些基本框架的实现,就像是动态代理模式一样。在使用的时候,初始化完观察者,主要操作的是被观察者的动作就可以。一个对象的改动,引起相关类的反应,看起来就像是一群对象看着一个对象的改动而做出相关的变动。Observable和Observer都是jdk中已经写好的类,这两个类构建了观察者设计模式,ConcreteObservable和ConcreteObserver两个类是开发者需要自己写的,通过使用jd
JPA数据库条件输入问题 JPA数据库条件输入问题在输入的参数和拼写的SQL字段要对应,不能有多余的参数,否则会报错。this.findEntityObjectBySql(sql,paramMap,pageable);
git本地分支与远程分支 本地分支与远程分支#创建新分支 并且关联对应的远程分支git checkout -b <branchId> <remote branchId>#查看本地分支对应的远程分支信息git branch -vv#将已经有的本地分支关联已有的远程分支git branch --set-upstream-to=<remote branchId> <branchId>...
oracle序列号的使用 oracle序列号的使用1.查询下一个序列号select SEQ_USER.nextval from dual2.在插入新数据时,生成唯一的id值insert into user(id,name,sex) values (SEQ_USER.nextval,'张三','男');commit;
oracle数据库表被锁 oracle数据库表被锁在多个方式同时操作(查询除外)一张表,这张表将会被锁住。解锁需要有dba权限。解决方法如下:第一步查询到被锁的sessionSELECT object_name, machine, s.sid, s.serial#FROM gv$locked_object l, dba_objects o, gv$session sWHERE l.object_id = o.object_idAND l.session_id = s.sid;第二步杀死释放这个session--a
JPA接口编写问题 JPA接口编写问题1.编写SQL语句时,以entity定义的字段为准示例中的user和name就是如此@Query("from user where name=:name")public List<user> findUserInfo(@Param("name") String name);2.不能使用entity作为输入参数更新操作为例,输入参数一般是单个变量, entity不能作为输入参数@Modifying@Query("update user set name =:na
安装华为运动健康beta版本安装失败 安装华为运动健康bate版本安装失败安装华为运动健康bate版本安装失败,提示卸载正式版操作环境:华为手机nova7 pro EMUI11 HiHealthApp11.0.2.012-china-bundle-plugins-beta我首先是通过正常的方式卸载正式版,在设置中的应用管理中也找不到指定的应用,但是安装时还是提示出现安装失败,之后尝试安装更高的bate版本,但是依旧是安装失败。后来在应用市场中看到华为运动健康没有卸载彻底,卸载完成之后,在安装bate版本时,安装成功。.
PageHelper分页 PageHelper分页分页需要几个要素,总数,当前页,每页的容量PageHelper和mybatis实现分页Page<Map<String,Object>> resultPage = PageHelper.startPage('页码','每页的容量');//执行查询操作mapper.select('查询条件');//可以在resultPage获取想要的分页结果信息List<Map<String,Object>> = resultPage.get
spring-boot中IO流实现文件下载(java端) spring-boot中IO流实现文件下载(java端)@GetMapping("/exportFile")public void exportFile(HttpServletResponse response){ byte[] fileContext = new byte[1024]; //内容配置:附件名称 response.setHeader("Content-Disposition","attachment; filename=" + fileName); //内
java8-list新操作01 根据数据实体类中某一个属性进行去重import static java.util.Comparator.comparingLong;import static java.util.stream.Collectors.collectingAndThen;import static java.util.stream.Collectors.toCollection; // Apple实体类list中,根据Apple类中的id属性进行去重List<Apple> unique = appleL