Java
文章平均质量分 62
java最强的男人
这个作者很懒,什么都没留下…
展开
-
如何实现抢红包?
现在市面上很多聊天交友app,其中的佼佼者就是我们都在用的微信,微信的红包功能更是增加了我们生活的便利,随份子可以不用到场,发红包就行,在群里发个广告,不发个红包都不好意思,母亲节、父亲节、情人节,不再只是一句简单的问候和祝福,发个红包更能增进之间的感情。今天就来聊一下该如何实现发红包、抢红包功能。红包分为两种:群红包和个人红包。个人红包就比较简单了,就只有两个角色,发送者和接收者,类似我们经常说的生产者和消费者。群红包相对复杂一点,分为普通红包和拼手气红包,一种是平均分配,另一种是完全随机。原创 2020-07-24 09:20:05 · 1136 阅读 · 0 评论 -
for循环、while循环和do-while循环
什么是循环?循环:同一个代码根据情况要一直执行。循环的意义:大大减少代码量, 极大意义上的提升硬件利用率什么时候使用循环?1.重复并且有规律 —>逻辑能力2.开始条件 —>从什么时候开始3结束条件 —>什么时候结束(如果没有结束条件,会进入死循环,让代码一直不停地运行)for循环1.for循环的语句格式:for ( init_expr ; boolean tes...原创 2018-09-19 17:06:06 · 6108 阅读 · 0 评论 -
break语句和continue语句的区别
break语句:可以用在switch语句中,跳出switch语句特点:1.可以用在循环,可以退出本层循环(距离最近的原则)2.break之后的语句不会执行while(true) { if(true) { break; //syso("sdfsdf"); //此代码不会执行 } }continue语句作用:不能用于switch语句中,只...原创 2018-09-20 18:35:22 · 11763 阅读 · 0 评论 -
Java单例
什么是单例?单例对象的类必须保证只有一个实例存在——这是维基百科上对单例的定义对单例的实现可以分为两大类——懒汉式和饿汉式懒汉式:指全局的单例实例在第一次被使用时构建。饿汉式:指全局的单例实例在类装载时构建懒汉式单例:简单版本:public class Single1 { private static Single1 instance; public static Sin...转载 2018-10-16 14:14:49 · 427 阅读 · 0 评论 -
什么是java回调机制?
本文转载自作者:xiaanming 原文:https://blog.csdn.net/xiaanming/article/details/8703708?utm_source=copy以前不理解什么叫回调,天天听人家说加一个回调方法啥的,心里想我草,什么叫回调方法啊?然后自己就在网上找啊找啊找,找了很多也不是很明白,现在知道了,所谓回调:就是A类中调用B类中的某个方法C,然后B类中反过来调用...转载 2018-10-14 16:28:42 · 156 阅读 · 0 评论 -
java中保留字和关键字的区别
自己做题的时候遇到了这个问题,之前一直不知道有保留字的存在,百度以后,结合自己所理解的,来分享一下。保留字: 指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用(就是系统可以用也可以不用,但是你不能用)。 在Java现有版本中没有特殊含义,以后版本可能会作为有特殊含义的词,或者该词虽然在Java中没有特殊含义,以后版本也不...原创 2018-10-18 20:12:53 · 3729 阅读 · 0 评论 -
java.sql.Date和java.util.Date的区别
文章转载自:https://blog.csdn.net/maoyuanming0806/article/details/78011700 在项目中使用碰到的问题,主要是两者日期格式和转换的问题首先,查看api,java.sql.Date是java.util.Date的子类可见这三个类都是java.utl.Date的子类。而这三个类都是对应与jdbc处理日期格式的类,有着 不同的...原创 2018-12-12 21:00:02 · 627 阅读 · 0 评论 -
基础搜索算法,华容道小游戏解法
首先,本人声明一下,这篇博客是看了其他人写的博客之后,对这个面试题十分感兴趣,所以才想分享一下。在明白这个面试题的时候,先通过一个简单的迷宫问题,明白一下几个问题:什么是“搜索”?什么是“剪枝”?什么是“回溯”?“搜索”:每个点都可以按照右下左上的方向进行尝试,如果是“墙壁”,就换一个方向,如果可以走,就往前走到下一点,然后再接着尝试。“剪枝”:之前走过的路,就不在往那边走了,因为回...原创 2018-09-22 21:55:37 · 2100 阅读 · 4 评论 -
spring面试题之AOP
面试的时候关于spirng的知识点中,AOP绝对是一大热点,那么该怎么回答关于AOP的面试问题呢,接下来,将我自己总结的关于AOP的面试问题分享给各位。(1).Spring AOP用的是哪种设计模式?代理模式。通过代理,可以详细控制访问某个或者某类对象的方法,在调用这个方法前做前置处理,调用这个方法后做后置处理。(2).谈谈你对代理模式的理解?通过代理,控制对对象的访问,它的设...原创 2018-12-27 14:51:52 · 5460 阅读 · 3 评论 -
@Transactional注解在什么情况下会失效,为什么。
首先我们来了解@Transactional这个注解:@Transactional注解事务的特性:1.service类标签(一般不在接口上)上添加@Transactional,可以将整个类纳入spring事务管理,在每个业务方法执行时都会开启一个事务,不过这些事务采用相同的管理方式。2.@Transactional注解只能应用到public可见度的方法上。如果应用在protected、p...原创 2018-12-28 10:48:45 · 11996 阅读 · 2 评论 -
java.lang.OutOfMemoryError异常详解
OutOfMemoryError异常(下文称OOM)一:通过代码验证java虚拟机规范中描述的各个运行时区域存储的内容二:在日常开发中遇到实际的内存溢出异常时,怎么根据异常的信息快速判断是哪个区域的内存溢出,知道什么样的代码可能会导致这些区域内存溢出,以及出现异常后该如何处理了解OOM异常需要设置执行时虚拟机启动参数在Eclipse IDE中在Debug/Run页签中设置1.java堆溢...翻译 2018-10-13 09:45:30 · 801 阅读 · 0 评论 -
使用java做用一张厚度为0.01米的纸折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?
我国最高山峰是珠穆朗玛峰:8848m,我现在有一张足够大的纸张,厚度为:0.01m。请问,我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?分析:A:定义一个统计变量,默认值是0B:最高山峰是珠穆朗玛峰:8848m这是最终的厚度我现在有一张足够大的纸张,厚度为:0.01m这是初始厚度C:我折叠多少次,就可以保证厚度不低于珠穆朗玛峰的高度?折叠一次有什么变化呢?就是厚度是以前的2倍。...原创 2018-09-18 17:27:58 · 14398 阅读 · 3 评论 -
session和cookie的区别
什么是cookie以及cookie有什么作用?当你访问了某些网页,并且对网页的一些设置进行修改,cookies就能跟踪并记录到这些修改,当你下一次访问这个网页的时候,这个网页会分析你电脑上的cookies,进而采取措施像你返回更符合你个性化的网页。比如你此前访问了大量的健身类网站,cookies记录了你的访问行为,广告主就能够根据你的访问行为,向你推送健身类的广告。什么是session以及...原创 2018-10-26 14:58:13 · 147 阅读 · 0 评论 -
Hibernate做增删改查(C,R,U,D)
最近学习了Hibernate框架,做了一个简单的单表增删改查,供初学者学习参考首先要配置Hibernate的配置文件:hibernate.cfg.xml:<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hiberna...原创 2018-10-16 16:45:35 · 3345 阅读 · 0 评论 -
Hibernate中的一对多关系映射
Hibernate框架中关系映射中有:一对一、一对多和多对多,但常用的就是一对多,所以本篇博客就大体概述了一下一对多关系映射。一对多关系:例如:客户和订单,客户是一,订单是多 创建customers、orders数据表 在多方添加一方的外键 (在orders表添加customer_id) 建立多对一关系映射 : 在 Order.hbm.xml 配置<m...原创 2018-10-17 17:06:54 · 2002 阅读 · 0 评论 -
Hibernate事务处理
事务: 事务通俗说就是逻辑上的一组操作,要么全都成功,要么全都失败!!! 事务有四个特性,简称为ACID:原子性(Atomicity):事务一组操作不可分割.一致性(Consistency):事务的执行前后,数据完整性要保持一致.隔离性(Isolation):个事务在执行的过程中不应该受到其他事务的干扰.持久性(Durability:一旦事务结束,数据就永久保存数据库....原创 2018-10-19 15:01:51 · 437 阅读 · 0 评论 -
Hibernate中乐观锁和悲观锁。
在hibernate事务处理中造成的写问题(丢失更新的问题:更新一定是查询最新的结果),之前博客简单描述了一下解决方法,这篇博客,来详细讲解一下如何用乐观锁和悲观锁解决写问题。下面我们通过例子来理解:在事务操作中,最经典的就是转账案例,如图所示:AB两个用户同时操作数据库,A用户在原余额上添加了10块钱,所以是110元,但是B用户添加了30元,却变成了140元,这就造成了并发操...原创 2018-10-19 16:39:19 · 288 阅读 · 0 评论 -
Struts2防止用户未登录操作
在做登录案例的时候,我们会考虑到这个问题,在用户未登录之前,用户是不能访问相关信息界面的,那就需要加上权限的控制,告诉用户必须处于登录状态,才可以访问。在ssh框架中,才用struts2的拦截器进行权限的控制那么什么是拦截器呢?拦截器,在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的...原创 2018-10-26 11:02:22 · 393 阅读 · 0 评论 -
Hibernate中session管理
尽管让程序自主管理 Session 对象的生命周期也是可行的, 但是在实际 Java 应用中, 把管理 Session 对象的生命周期交给 Hibernate 管理, 可以简化 Java 应用程序代码和软件架构。Hibernate 3 自身提供了三种管理 Session 对象的方法: Session 对象的生命周期与本地线程绑定 Session 对象的生命周期与 JTA 事务绑...原创 2018-10-26 14:38:17 · 285 阅读 · 0 评论 -
Struts2中拦截器
什么是拦截器:拦截器是AOP中的概念,它本身是一段代码,可以通过定义“织入点”,来指定拦截器的代码在“织入点”的前后执行,从而起到拦截的作用Struts2的Interceptor,其拦截的对象是Action代码,可以定义在Action代码之前或者之后执行拦截器的代码。在项目中,我们经常用来拦截通过非正常程序而进行的访问。例如:权限操作。Struts2的拦截器和Servlet过...原创 2018-10-26 15:20:03 · 184 阅读 · 0 评论 -
MyBatis中延迟加载
使用延迟加载的意义:在进行数据查询时,为了提高数据库查询性能,尽量使用单表查询,因为单表查询,比多表查询速度要快。在互联网企业中,如果查询单表就可以满足需求,一开始先查询单表,当需要关联信息时,在关联查询,当需要关联信息再查询这个叫延迟加载。resultMap、resultType、延迟加载适用场景:延迟加载:延迟加载实现的方法多种多样,在只查询单表就可以满足需求,为了提高数据...原创 2018-10-30 16:07:45 · 768 阅读 · 0 评论 -
Mybatis中一级缓存,二级缓存
缓存的意义:将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。mybatis持久层缓存:mybatis提供一级缓存和二级缓存(mapper级别)一级缓存:mybatis一级缓存是一个SqlSession级别,sqlsession只能访问自己的一级缓存的数据,原理:...原创 2018-10-30 18:15:45 · 303 阅读 · 0 评论 -
spring mvc中拦截器配置及应用
自定义拦截器:public class HandlerInterceptor1 implements HandlerInterceptor{ /** * controller执行前调用方法 * 返回true表示继续执行,返回false中止执行 * 这里可加入登陆校验、权限拦截等 * * */ ...原创 2018-11-04 17:01:22 · 238 阅读 · 0 评论 -
sleep()和wait()的区别
Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行。sleep()和wait()的共同点:1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回。 2. wait()和sleep()都可以通过interrupt()方法 打断线程的暂停状态 ,从而使线程立刻抛出InterruptedException...原创 2018-10-29 20:11:59 · 199 阅读 · 0 评论 -
struts2实现CRUD(增 删 改 查)
CRUD是Create(创建)、Read(读取)、Update(更新)和Delete(删除)首先,肯定是要与数据交互的,所以我们先写一个bean类代码如下:public class Food { private Integer id; private String name; private Double price; public Integer getId() {...原创 2018-10-12 17:01:11 · 5888 阅读 · 1 评论