首页 > 其他分享 >实习

实习

时间:2023-05-29 09:34:21浏览次数:28  
标签:int System dateTime 泛型 谈谈 LocalDateTime 实习

目录

专业技能

熟悉 Java

集合

谈谈集合
Java 的集合有 List、Set、Queue、Map 四个接口,其中 List、Set、Queue 三个子接口是由 Collection 派生出来的。
另外,Collection 是一个接口,Collections 是一个工具类。

泛型

为什么使用泛型?
谈谈 <?> 与 Object
谈谈 extends 与 super
可以将 List<String> 传递给 List<Object> 吗?
数组可以使用泛型吗?
谈谈泛型类
谈谈泛型接口
谈谈泛型方法
谈谈泛型擦除
谈谈泛型的常用命名

IO

Exception

谈谈异常的处理机制
如何实现全局异常处理?

Lambda

什么是 Lambda?
一种匿名函数,通常用于函数式接口的实现,即只有一个抽象方法的接口,但是可以有多个非抽象方法。
平时开发时并不需要特意使用 Lambda,一般都是当 IDEA 提示时再根据实际情况进行权衡和选择。
public interface Calculator {
    int calculate(int x, int y);
}

public class Adder implements Calculator {
    @Override
    public int calculate(int x, int y) {
        return x + y;
    }
}

Calculator adder = new Adder();
int result1 = adder.calculate(1, 2);

Calculator lambdaAdder = (x, y) -> x + y;
int result2 = lambdaAdder.calculate(1, 2);
谈谈使用格式
(int x, int y) -> {
    int sum = x + y;
    return sum;
}

(参数列表) -> {
    方法主体
}
什么是语法糖?
一种简化语法。
Java 有哪些常见的语法糖?
自动装箱和自动拆箱、增强for循环、Lambda表达式、可变参数、泛型、枚举类型、try-with-resources

Stream

LocalDate

为什么不使用 java.util.Date?
设计缺陷,线程不安全,比如 getYear 方法返回的是从 1900 年起经过的年数,而不是实际的年份。
System.out.println(new Date().getYear()); // 2023 - 1900 = 123
为什么不使用 java.util.Calendar?
使用繁琐,线程不安全,比如 Calendar.MONTH 是从 0 开始计算的,而不是 1。
System.out.println(Calendar.getInstance().get(Calendar.MONTH) + 1);
谈谈 java.time 包
设计合理,使用简单,线程安全,支持纳秒级别的时间精度。
LocalDate 表示日期,LocalTime 表示时间
LocalDateTime 表示日期和时间,ZonedDateTime 表示时区的日期和时间
Instant 表示时间戳,Duration 表示时间间隔,Period 表示日期间隔
DateTimeFormatter 用于日期时间的格式化
谈谈 java.time 包的常用 API
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.Date;

public class Main {
    public static void main(String[] args) {
    }

    /**
     * Date 转 LocalDateTime
     */
    public static void dateToLocalDateTime() {
        Date date = new Date();
        System.out.println("Date: " + date);
        LocalDateTime localDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
        System.out.println("LocalDateTime: " + localDateTime);
    }

    /**
     * LocalDateTime 转 Date
     */
    public static void localDateTimeToDate() {
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println("LocalDateTime: " + localDateTime);
        Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
        System.out.println("Date: " + date);
    }

    /**
     * String 转 LocalDateTime
     */
    public static void stringToLocalDateTime() {
        String string = "2020-05-20 21:30:01";
        System.out.println("String: " + string);
        LocalDateTime localDateTime = LocalDateTime.parse(string, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        System.out.println("LocalDateTime: " + localDateTime);
    }

    /**
     * LocalDateTime 转 String
     */
    public static void localDateTimeToString() {
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println("LocalDateTime: " + localDateTime);
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        System.out.println("String: " + localDateTime.format(dateTimeFormatter));
    }

    /**
     * 日期相隔
     */
    public static void localDateBetween() {
        LocalDate startLocalDate = LocalDate.of(2020, 5, 20);
        LocalDate endLocalDate = LocalDate.now();
        System.out.println("比较年月日 Days: " + startLocalDate.until(endLocalDate, ChronoUnit.DAYS));
        System.out.println("仅仅比较日 Days: " + Period.between(startLocalDate, endLocalDate).getDays());
    }

    /**
     * 时间相隔
     */
    public static void localDateTimeBetween() {
        LocalDateTime startLocalDateTime = LocalDateTime.of(2020, 5, 20, 21, 30, 1);
        LocalDateTime endLocalDateTime = LocalDateTime.now();
        Duration duration = Duration.between(startLocalDateTime, endLocalDateTime);
        System.out.println("Days: " + duration.toDays() + ", Hours: " + duration.toHours() + ", Minutes: " + duration.toMinutes());
    }

    /**
     * 时间戳
     */
    public static void timeStamp() {
        Instant instant = LocalDateTime.of(2020, 5, 20, 21, 30, 1).toInstant(ZoneOffset.ofHours(8));
        System.out.println("EpochMilli: " + instant.toEpochMilli());
        System.out.println("CurrentTimeMillis: " + System.currentTimeMillis());
        LocalDateTime localDateTime = LocalDateTime.ofEpochSecond(instant.getEpochSecond(), 0, ZoneOffset.ofHours(8));
        System.out.println("LocalDateTime: " + localDateTime);
    }

    public static void otherApi() {
        // 创建 LocalDateTime 对象
        LocalDateTime dateTime = LocalDateTime.now();
        LocalDateTime specificDateTime = LocalDateTime.of(2020, 5, 20, 21, 30, 1);
        LocalDateTime parsedDateTime = LocalDateTime.parse("2020-05-20T21:30:01");
        // 获取日期和时间
        int year = dateTime.getYear();
        int month = dateTime.getMonthValue();
        int day = dateTime.getDayOfMonth();
        int hour = dateTime.getHour();
        int minute = dateTime.getMinute();
        int second = dateTime.getSecond();
        int nano = dateTime.getNano();
        DayOfWeek dayOfWeek = dateTime.getDayOfWeek();
        // 修改日期和时间
        LocalDateTime modifiedDateTimeWithYear = dateTime.withYear(2024);
        LocalDateTime modifiedDateTimeWithMonth = dateTime.withMonth(6);
        LocalDateTime modifiedDateTimeWithDayOfMonth = dateTime.withDayOfMonth(25);
        LocalDateTime modifiedDateTimeWithHour = dateTime.withHour(12);
        LocalDateTime modifiedDateTimeWithMinute = dateTime.withMinute(15);
        LocalDateTime modifiedDateTimeWithSecond = dateTime.withSecond(30);
        LocalDateTime modifiedDateTimeWithNano = dateTime.withNano(0);
        // 加减日期和时间
        LocalDateTime modifiedDateTimePlusYears = dateTime.plusYears(1);
        LocalDateTime modifiedDateTimeMinusMonths = dateTime.minusMonths(2);
        LocalDateTime modifiedDateTimePlusDays = dateTime.plusDays(7);
        LocalDateTime modifiedDateTimeMinusHours = dateTime.minusHours(3);
        LocalDateTime modifiedDateTimePlusMinutes = dateTime.plusMinutes(15);
        LocalDateTime modifiedDateTimeMinusSeconds = dateTime.minusSeconds(30);
        LocalDateTime modifiedDateTimePlusNanos = dateTime.plusNanos(500000000);
        // 比较日期和时间
        LocalDateTime dateTime1 = LocalDateTime.of(2020, 5, 20, 21, 30, 1);
        LocalDateTime dateTime2 = LocalDateTime.of(2025, 5, 20, 21, 30, 1);
        boolean isBefore = dateTime1.isBefore(dateTime2);
        boolean isAfter = dateTime1.isAfter(dateTime2);
        boolean isEqual = dateTime1.isEqual(dateTime2);
    }
}

ThreadPoolExecutor

其它

熟悉 MySQL

行表锁

索引

事务隔离

存储引擎

联表查询

MVCC

explain

其它

熟悉 Spring

生命周期

谈谈循环依赖

事务传播

IOC

AOP

BeanFactory

BeanPostProcessor

熟悉 SpringMVC

熟悉 SpringBoot

熟悉 MyBatis

熟悉 MyBatisPlus

熟悉 Redis

熟悉 RabbitMQ

熟悉 设计模式

熟悉 数据结构

熟悉 网络基础

熟悉 Git

了解 SpringCloud

了解 Nginx

能够配置负载均衡

了解 Docker

能够搭建开发环境

了解 Vue2

能够进行简单的请求回显

项目经验

标签:int,System,dateTime,泛型,谈谈,LocalDateTime,实习
From: https://www.cnblogs.com/linycat/p/17439502.html

相关文章

  • 实习记录模板
    计划删减代码,把它变成自己的,准备答辩学习前端知识angular框架,html语法扎实的学,css,JavaScript学习后端框架,Java语言学扎实点知道接口怎么回事,尝试或明白一个接口怎么写,接口调试是怎么实现的解决配置文件中resources中的几千个报错,不解决,无意义要搞明白数据库中的字段......
  • labview源码,当时在企业实习给企业做的视频监控系统,通 过迅雷Aplayer播放器进行视频图
    labview源码,当时在企业实习给企业做的视频监控系统,通过迅雷Aplayer播放器进行视频图像监控。能实现截图,全屏播放,暂停等功能硬件:大华摄像头软件:labview通讯方式:Rtsp数据流视频演示链接:https://pan.baidu.com/s/18eBW1_CEeUaO_0-DxWtcew?提取码:013cID:3188612567997565......
  • 2023年SHEIN的JAVA后端实习笔试题
    2023年SHEIN笔试题目:10道单选,5道多选,一道算法,一道SQL(单选)1、下列关于线性链表的叙述中,正确的是:进行插入和删除时,不需要移动链表中的元素。2、关于以下程序代码的说明正确的是:classHasStatic{privatestaticintx=100;publicstaticvoidmain(Stringargs[]){......
  • 浪潮集团Java研发实习
    2023.4.19上网课上多久三个项目最熟悉那几个SpringBoot常见注解SpringBoot配置数据库配置url时区自己写各个层?框架生成.Mybatis#和$用法5.Mysql分组关键字事务使用过吗Vue怎么创建......
  • 阿里云智能春季2024届实习生招聘启动啦,快来加入IoT安全吧
    职位名称: 安全工程师/研发工程师C/C++工作地点: 杭州市/北京市毕业时间:2023年11月-2024年10月面试:远程我们是谁?阿里云IoT安全部负责阿里云物联网安全产品的系统性规划、研发、创新拓展与业务落地。聚焦物联网安全能力在云-边缘计算-设备端的产品化建设,协同阿里云的多条产品线,业......
  • 阿里实习内推招人啦!!
    ......
  • 基于chunjun纯钧的增量数据同步问题排查【博客园-实习小生】
    基于chunjun纯钧的增量数据同步目前我司的大数据平台使用的是flink技术栈,底层的连接器插件使用的是国产的chunjun插件,在使用chunjun的过程中也遇到了很多问题,本次记录下在SQL模式的情况下怎么支持增量的数据同步chunjun的官网文档对增量同步已经做出了一定的说明纯钧官方根......
  • 武汉群硕软件实习协议
    雷文同学:非常高兴能邀请你的加入,希望在未来的一段时间里,你能在群硕度过一段充实而愉快的实习生活!实习期间,群硕将按照如下条款与你达成实习期的约定。谢谢!实习协议甲方:Augmentum,Inc.——武汉群硕软件开发有限公司乙方:雷文(身份证号码:)甲乙双方就甲方接收乙方作为实习员工一事,达......
  • 暑期实习
    公司流程完美世界简历挂SHEIN简历挂阿里巴巴简历初筛CVTE简历初筛NIO蔚来汽车简历初筛网易雷火简历初筛北京畅游简历初筛4.4没有消息呢,三非鼠鼠要哭了......
  • 3.30 - 阿里暑期实习二面
    总计1h一、项目1.为什么把token存在localStorage里而不存在vuex中?当浏览器刷新时,会重新加载js脚本,重新加载Vue实例,那么vuex中的数据就会被重置,用户的信息就没有了,就会重定向登录页。2.怎么想到要在前端事先判断一下时间?最开始每次判断都是把token发给后端去判断,但因为这个......