首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

经过了这么多场Java面试,我明白了这些道理

面试大体包括下面几方面知识类型: Java基础、多线程、IO与NIO、虚拟机、设计模式 数据结构与算法(要有手写算法能力) 计算机网络(TCP三次握手和四次挥手) 数据通信(RESTful、RPC、...消息队列) 操作系统(Linux基本命令以及使用) 主流框架(Spring底层原理与源码问很多) 数据存储(最常见MySQL、Redis) 分布式 除了这些东西还有什么其他问题: 实际场景题 生活方面的问题...5)数据库相关问题,针对MySQL(必问) 给题目让你手写SQL。 有没有SQL优化经验。 MySQL索引数据结构。 SQL怎么进行优化。 SQL关键字执行顺序。 有哪几种索引。...Mybatismapper文件中#和$区别。 Mybatismapper文件中resultType和resultMap区别。 7)其他遇到问题 介绍下栈和队列。 IO和NIO区别。...对于那种实习期6个月还打8折公司,除非你没有其他选择了,否则不要去。 另外,小公司喜欢在薪水上压你,开时候适当提高。 不要去参加招聘会,纯粹是浪费时间

59250
您找到你想要的搜索结果了吗?
是的
没有找到

quarkus数据库篇之三:单应用同时操作多个数据

接下来就是多数据源操作最关键地方了:配置文件,为了满足多个profile需要,这里继续使用application.properties和application-xxx.properties组合方式...,我们将其当做应用默认数据源,那么它配置和原来单数据没有任何却别,如下所示 # first-db配置,下面五个配置项在application.properties文件中 quarkus.hibernate-orm.log.sql...接下来就是多数据源操作最关键地方了:配置文件,为了满足多个profile需要,这里继续使用application.properties和application-xxx.properties组合方式...,我们将其当做应用默认数据源,那么它配置和原来单数据没有任何却别,如下所示 # first-db配置,下面五个配置项在application.properties文件中 quarkus.hibernate-orm.log.sql...接下来就是多数据源操作最关键地方了:配置文件,为了满足多个profile需要,这里继续使用application.properties和application-xxx.properties组合方式

1.6K20

maven仓库之第二篇

首先父工程中pom.xml文件添加: 在使用坐标时,对于同一个框架,引入多次时,它版本信息就会多次出现,所以 可以借用常量思想,将这些版本号提取出来,在需要用到时候,直接写版本常量名称就可以了...引用上面的常量 3.最终在ssh_parentpom.xml中引入坐标 依赖注入手动排除 : 可以当做特殊情况,struts2框架和hibernate框架很少使用共同jar包....配置 第一步: 需要在客户端即部署dao工程电脑配置 maven环境,并修改 settings.xml 文件,配置连接私服用户和密码 。...,本公司自己jar包会上传到私服宿主仓库,根据工程版本号决定上传到哪个宿主仓库,如果版本为release则上传到私服release仓库,如果版本为snapshot则上传到私服snapshot...-- 数据源 --> <!

87110

Spring Cloud Alibaba 系列之 Seata 分布式事务 demo

以一个用户购买商品微服务示例开始,整个业务逻辑由3个微服务提供支持:仓储服务:对给定商品扣除仓储数量。订单服务:根据采购需求创建订单。帐户服务:用户帐户中扣除余额。 ?...1.2 创建模块 ☞ 创建数据库   每一个服务都对应自己数据库,这里使用 JPA 自动创建表,另外每个库都需要单独回滚日志表,建表语句如下。...驱动 6.0 以上使用如下配置 driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/order...1.3 无分布式事务测试   当订单创建成功后,准备扣减库存时发生错误,若此时没有分布式事务可能会造成订单创建了,库存没有问题,此类问题比比皆是。...1.4 使用分布式事务   我们只需要使用一个 @GlobalTransactional 注解在业务方法就可以实现分布式事务。 ?

1.2K10

MySQL高级】应用优化及Mysql中查询缓存优化以及Mysql内存管理及优化

因此可以部分数据数据库中抽取出来放到应用端以文本方式存储, 或者使用框架(Mybatis, Hibernate)提供一级缓存/二级缓存,或者使用redis数据库来缓存数据 。...1.3 负载均衡 负载均衡是应用中使用非常普遍一种优化方法,它机制就是利用某种均衡算法,将固定负载量分布到不同服务器, 以此来降低单台服务器负载,达到优化效果。...1.3.1 利用MySQL复制分流查询 通过MySQL主从复制,实现读写分离,使增删改操作走主节点,查询操作走节点,从而可以降低单台服务器读写压力。...2) MyISAM 存储引擎数据文件读取依赖于操作系统自身IO缓存,因此,如果有MyISAM表,就要预留更多内存给操作系统做IO缓存。...可以在MySQL参数文件中设置key_buffer_size值,对于一般MyISAM数据库,建议至少将1/4可用内存分配给key_buffer_size。

1.4K41

eclipse数据库逆向生成Hibernate实体类

意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表;要么就先进行数据库表设计,再逆向生成实体类。没有说进行完任意一方设计后再去花时间去自己匹配建立另一方设计。...原因是: 1. 1.5倍工作量,浪费时间。(时间对公司来说很重要) 2. 无法保证两边映射一致。因为两边都是自己设计,那么就需要人为保证映射关系统一,会有隐患。 3. 开发、维护都不利。...那么下面讲述正题:如何数据库逆向生成Hibernate实体类 1. 首先,要在eclipse中采用自带数据库管理器(Data Management),连通你数据库: ? ?  ...然后选择数据库,这里用mysql,然后给个名字,如mysql。 ? ?...配置文件连接数据库,但是通过这种方式并不一定能成功,单独采用Data Management也同样不一定成功,原因不是很清楚,所以最后采用Data Management + Hibernate配置文件结合方式

1.2K00

SSH框架之Spring第四篇

-- 使用Spring整合c3p0连接池,没有采用属性文件方式 --> <!...使用Spring JDBC或iBatis 进行持久化数据使用 org.springframework.orm.hibernate3.HibernateTransactionManager 使用...Hibernate版本进行持久化数据使用 2.2.2TransactionDefinition 它是事务定义信息对象,里面有如下方法: 2.2.2.1事务隔离级别 2.2.2.2事务传播行为...isolation:指定事务隔离级别。默认值是使用数据默认隔离级别。 propagation:指定事务传播行为。 timeout:指定超时时间。默认值为:-1。永不超时。...该注解可以出现在接口上,类和方法。 出现接口上,表示该接口所有实现类都有事务支持。 出现在类,表示类中所有方法有事务支持 出现在方法,表示方法有事务支持。

49210

使用shell分页读取600万+MySQL数据脚本

shell-mysql (1)脚本背景: 由于要在Linux,远程读取mysql数据,然后做一定清洗后,把数据上传至Hadoop集群中,使用Java写吧,感觉太麻烦了,得在Win开发好,还得打成...jar包, 上传到Linux,如果那里出了问题,还得重复这样,非常不方便,那就用shell写一个吧,也不需要什么jdbc驱动包,只需要在Linux上装个MySQL 客户端即可,用一行yum命令即可搞定...,所以就花了点时间,封装了一个小脚本 (2)功能介绍: 直接在Linux下使用shell脚本远程分页读取MySQL数据一个小脚本,已测过读取600万+数据 效率与jdbc相差无几 (3...#第一个参数表名 #第二个参数是start #第三个参数是offset #分页读取数据后,删除第一行表头,并写入一个文件中,文件名与表名一样 sh port.sh $1 $2 $3 |...#下面的语句,是登陆到数据库后,使用某个数据库,然后根据条件查询表 MYSQL=`which mysql` $MYSQL -hmysqlhost --default-character-set

1.9K50

eclipse数据库逆向生成Hibernate实体类

意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表;要么就先进行数据库表设计,再逆向生成实体类。没有说进行完任意一方设计后再去花时间去自己匹配建立另一方设计。...那么下面讲述正题:如何数据库逆向生成Hibernate实体类 1. 首先,要在eclipse中采用自带数据库管理器(Data Management),连通你数据库: ? ?  ...然后选择数据库,这里用mysql,然后给个名字,如mysql。 ? ?...之后Data Management就会出现mysql数据库资源管理器,发生变化如下说明数据库配置成功。 ? 2....配置文件连接数据库,但是通过这种方式并不一定能成功,单独采用Data Management也同样不一定成功,原因不是很清楚,所以最后采用Data Management + Hibernate配置文件结合方式

1.2K90

eclipse数据库逆向生成Hibernate实体类

意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表;要么就先进行数据库表设计,再逆向生成实体类。没有说进行完任意一方设计后再去花时间去自己匹配建立另一方设计。...原因是: 1. 1.5倍工作量,浪费时间。(时间对公司来说很重要) 2. 无法保证两边映射一致。因为两边都是自己设计,那么就需要人为保证映射关系统一,会有隐患。 3. 开发、维护都不利。...那么下面讲述正题:如何数据库逆向生成Hibernate实体类 1....首先,要在eclipse中采用自带数据库管理器(Data Management),连通你数据库:  然后选择数据库,这里用mysql,然后给个名字,如mysql。...配置文件连接数据库,但是通过这种方式并不一定能成功,单独采用Data Management也同样不一定成功,原因不是很清楚,所以最后采用Data Management + Hibernate配置文件结合方式

1K100

旧调重弹Hibernate与Ibatis区别——深入架构设计

hibernate数据库和你隔离了,你不需要关注数据库是mysql还是oracle,hibernate来帮你生成查询sql。...但问题也来了,如果你就要用某种数据库特有的功能,或者你就要让查询sql完全符合你心意,这就难了。 因为hibernate则基本可以自动生成,偶尔会写一些hql。...规范) 生成对应实体类映射文件并添加到1中配置文档 这里科普下IBatis详细配置及使用情况!...:当线程试图连接池中获取连接时,连接池中无可用连接可供使用,此时线程将进入等待状态,直到池中出现空闲连接。...此参数设定了线程所允许等待最长时间,(毫秒); Pool.PingQuery:数据库连接状态检测语句。某些数据库在某段时间持续处于空闲状态时会将其断开。

57340

Java面试:2021.05.31

因此,要使用基于注解装配,我们必须通过配置 元素在 Spring 配置文件中启用它。 8、使用 Spring 事务有什么优点?...防止超售解决方案:将存库 MySQL 前移到 Redis 中,所有的写操作放到内存中, 由于 Redis 中不存在锁故不会出现互相等待,并且由于 Redis 写性能和读性能都 远高于 MySQL...场景二:系统并发量很大 如果系统并发量很大,那么就不能再使用数据库来进行库存操作了,因为数据库加锁操作本身是 以损失数据性能来进行控制数据数据一致性。...但是当并发量很大时候,将会导致数据库排队,发生阻塞。因此必须使用一个高效 nosql数据库 服务器来进行库存。...此时可以使用 redis 服务器来存储库存,redis 是一个内存版数据库,查询效率相当高,可以使用 watch 来监控库存操作,一旦发现库存被减为 0,立马停止售卖操作。

52620

hibernate基本使用

hibernate基本使用 1.hibernate简述 2.hibernate目录 3.hibernate基本使用 4.过程回顾 01 hibernate简述 hibernate框架应用在web三层架构...1.documentation里面是一些使用文档基本没啥用 2.lib就包含着使用hiternate要用到java包,其中required是必须包 ?...3.project是测试工程 03 基本使用 首先导入lib>required中java包,除此之外要连接数据库当然得导入驱动包数据库我用mysql,我这里是mysql-connector-java...-8.0.17.jar 使用hibernate不用去自己手动连接数据库创建驱动对象,得到连接对象什么,这些语句都封装好了,所以你只需要去传入驱动包路径、url、用户名、密码这些参数即可。...> dialect:使用什么版本sql语句,我这里就设置为mysql connection.driver_class

79630

《项目架构那点儿事》——Hibernate泛型Dao,让持久层简洁起来

【前言】hibernate作为持久层ORM技术,它对JDBC进行非常轻量级对象封装,使得我们可以随心所欲使用面向对象思想来操作数据 库。...* 封装Hibernate原生APIDAO泛型基类. * * 可在Service层直接使用, 也可以扩展泛型DAO子类使用, 见两个构造函数注释....使用load()方法得到仅是对象Proxy, 在传到View层前需要进行初始化....整合,关于spring与hibernate整合问题,我分两步来谈:   1.配置spring数据源Datasource,关系配置数据库连接,相信很多童鞋对它很熟悉,我们要获取数据库连接,首先是连接池中去找...相信用过 hibernate的人都知道如何去编写hbm映射文件,添加依赖包,这里我就没有详细介绍,也没有实际例子来实现,还是那句话,我是项目架构出发,给 大家在搭建系统时候提供思路和参考。

1.9K70

Hibernate二级缓存配置

对于应用程序,Cache通过内存或磁盘保存了数据库中的当前有关数据状态,它是一个存储在本地数据备份。Cache位于数据库和应用程序之间,数据库更新数据,并给程序提供数据。...一级缓存: Hibernate默认是开启一级缓存,一级缓存存放在session,属于事务级数据缓冲。...在Hibernate使用EhCache: 1)hibernate.cfg.xml 中增加对二级缓存配置(maven项目放在resources文件夹下) <?...它保证可重读事务隔离级别,可以对读/写比例高,很少更新数据采用该策略。   2:读写(read-write)使用时间戳机制维护读写提交事务隔离级别。...使用此策略时,应该设置足够缓存过期时间,否则可能从缓存中读出脏数据。当一些数据极少改变,并且当这些数据数据库有一部份不量影响不大时,可以使用此策略。

30920
领券