2021
07-12
07-12
Java高级应用之斗地主游戏
斗地主综合案例,供大家参考,具体内容如下运用HashMap、ArrayList、List类实现斗地主综合案例,模拟斗地主游戏的随机发牌,并按照牌的大小和花色进行排列。斗地主玩家每轮都有三个玩家,运用Collections类中的shuffle()方法打乱一整幅扑克牌,利用取余原理将凑乱的牌发放给三个玩家,整副牌发完后的最后三张永一个ArrayList存储作为底牌。具体代码实现如下:importjava.util.ArrayList;importjava.util.Collections;importjava...
继续阅读 >
1.stream().reduce()单字段求和(1)普通数字求和publicstaticvoidtest2(){List<Integer>list=Arrays.asList(newInteger[]{1,2,3,4,5,6,7,8,9});Integersum=list.stream().reduce((x,y)->x+y).get();System.out.println(sum);}2.BigDecimal求和publicstaticvoidmain(String[]args){List<User>list=newArrayList<>();Useruser1=newUser();user1.setNum1(new...
目录一、初始化SpringBoot项目二、创建数据表三、在application.yml中配置mysql信息四、编写用于测试的实体类五、编写操作实体类的Mapper类六、启动类中扫描Mapper类七、写一个测试类八、配置日志九、遇到的两个坑十、总结一、初始化SpringBoot项目首先使用SpringInitializer脚手架初始化一个SpringBoot项目。然后在pom.xml中添加相关的依赖:<dependency><groupId>mysql</groupId><artifactId>mysql-c...
一、Override首先,@Override注解是伪代码,表示子类重写父类的方法。这个注解不写也是可以的,但是写了有如下好处:1.可以当注释用,方便阅读(注解很重要的一个作用就是注释);2.编译器和IDE可以验证@Override下面的方法名是否是父类中所有的,如果没有的话就会报错。如果没有加@Override,而子类中的方法名又写错了,这个时候编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。下面来验证...
String中常用的方法,我以代码的形式,来说明这些常用的方法。@Testpublicvoidtest1(){//1.返回字符串的长度Strings1="helloworld";System.out.println(s1.length());//2.返回某索引处的字符System.out.println(s1.charAt(1));//3.判断字符串是否是空字符串System.out.println(s1.isEmpty());//4.将String中的所有字符串转换成小写Strings2=...
目录Pre引导新建工程打包启动java-jar干啥的打包插件spring-boot-maven-plugin简介包结构Archive的概念JarFileJarLauncher工作流程小结Pre大家开发的基于SpringBoot的应用,jar形式,发布的时候,绝大部分都是使用java-jar启动。得益于SpringBoot的封装,再也不用操心搭建tomcat等相关web容器le,一切变得非常美好,那SpringBoot是怎么做到的呢?引导新建工程打包启动我们新创建一个SpringBoot的工程其中打包...
目录一、前言二、代码实现三、效果一、前言问题阐述:在某一场景下,我们的代码在Service实现相同,但却在Controller层访问时却希望不同的前缀可以访问。如下:/say/hello。我们这里希望在不借助任何外部服务的情况下通过/a/say/hello和/b/say/hello都可以访问到该接口,同时不想在Controller中写两个方法。@RestController@RequestMapping("say")publicclassSayController{@AutowiredprivateSayServices...
目录一、Starters原理1.1Starters场景启动器二、自定义Starters三、代码步骤一、Starters原理1.1Starters场景启动器1、场景需要用到的依赖是什么?比如依赖的jar2、如何编写自动配置?以WebMvcAutoConfiguration自动配置为例:@Configuration@ConditionalOnWebApplication@ConditionalOnClass({Servlet.class,DispatcherServlet.class,WebMvcConfigurerAdapter.class})@ConditionalOnMissingBean(WebMvcConfigurationSupport...
前言在一些需要挖掘一些无条件RCE中,大部分类似于一些系统大部分地方都做了权限控制的,而这时候想要利用权限绕过就显得格外重要。在此来学习一波权限绕过的思路。0x01权限控制实现常见的实现方式,在不调用SpringSecurity、Shiro等权限控制组件的情况下,会使用Filter获取请求路径,进行校验。编写一个servletpackagecom.nice0e3;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importj...
先看一个例子Integerinteger=12344;Integerinteger1=12344;在Java中Integer和Integer1是不相等的,但是如果再执行如下语句map.put(integer,1);map.put(integer1,2);会发现2会把1覆盖,问题来了,明明是两个不同的对象,为什么,2会把1覆盖呢?我们看HashMap中添加键的源代码,如下可以发现我们传进来的键交给了一个hash的成员方法区处理,这里我们看看hash方法的源码哦,看到这里明白了,我们传进来的键会执行hashCode方法,那么...