上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 55 下一页
摘要: 使用SpringJDBC 框架,资源管理和错误处理的代价都会被减轻。 所以开发者只需写statements 和 queries从数据存取数据,JDBC也可以在Spring框架提供的模板类的帮助下更有效地被使用,这个模板叫JdbcTemplate (例子见这里 here ) 阅读全文
posted @ 2020-11-29 12:16 咔啡 阅读(197) 评论(0) 推荐(0)
摘要: (1)过程作为独立的PL/SQL语句块来执行,完成特定的业务功能;而函数作为表达式的部分被调用,完成一次特定的计算。 (2) 过程不需返回类型声明,程序内不需RETURN语句;函数必须声明返回类型,程序内必须包含有效的RETURN语句。 (3)过程可以使用IN/OUT/IN OUT的传参模式;函数只 阅读全文
posted @ 2020-11-29 12:12 咔啡 阅读(169) 评论(0) 推荐(0)
摘要: DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。 它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。 阅读全文
posted @ 2020-11-29 12:10 咔啡 阅读(427) 评论(0) 推荐(0)
摘要: 当有多个相同类型的bean却只有一个需要自动装配时,将@Qualifier 注解和@Autowire 注解结合使用以消除这种混淆,指定需要装配的确切的bean。 Spring数据访问 阅读全文
posted @ 2020-11-28 17:16 咔啡 阅读(86) 评论(0) 推荐(0)
摘要: Spring对数据访问对象(DAO)的支持旨在简化它和数据访问技术如JDBC,Hibernate or JDO 结合使用。这使我们可以方便切换持久层。编码时也不用担心会捕获每种技术特有的异常。 阅读全文
posted @ 2020-11-28 17:14 咔啡 阅读(47) 评论(0) 推荐(0)
摘要: 有五种自动装配的方式,可以用来指导Spring容器用自动装配方式来进行依赖注入。 no:默认的方式是不进行自动装配,通过显式设置ref 属性来进行装配。 byName:通过参数名 自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byname,之后容器试图匹配、装配和该 阅读全文
posted @ 2020-11-28 17:12 咔啡 阅读(123) 评论(0) 推荐(0)
摘要: 以通过 dubbo:reference 中设置 mock="return null"。mock 的值也可以修改 为 true,然后再跟接口同一个路径下实现一个 Mock 类,命名规则是 “接口名 称+Mock” 后缀。然后在 Mock 类里实现自己的降级逻辑 阅读全文
posted @ 2020-11-28 17:09 咔啡 阅读(61) 评论(0) 推荐(0)
摘要: Spring 容器在启动的时候,会读取到 Spring 默认的一些 schema 以及 Dubbo 自 定义的 schema,每个 schema 都会对应一个自己的 NamespaceHandler, NamespaceHandler 里面通过 BeanDefinitionParser 来解析配置信 阅读全文
posted @ 2020-11-28 17:07 咔啡 阅读(457) 评论(0) 推荐(0)
摘要: kill -3 [java pid] 不会在当前终端输出,它会输出到代码执行的或指定的地方去。比如,kill -3 tomcat pid, 输出堆栈到 log 目录下。 Jstack [java pid] 这个比较简单,在当前终端显示,也可以重定向到指定文件中。 -JvisualVM:Thread 阅读全文
posted @ 2020-11-28 17:04 咔啡 阅读(246) 评论(0) 推荐(0)
摘要: 使当前线程从执行状态(运行状态)变为可执行态(就绪状态)。 当前线程到了就绪状态,那么接下来哪个线程会从就绪状态变成执行状态呢?可 能是当前线程,也可能是其他线程,看系统的分配了。 阅读全文
posted @ 2020-11-28 17:02 咔啡 阅读(191) 评论(0) 推荐(0)
摘要: 面向切面的编程,或AOP, 是一种编程技术,允许程序模块化横向切割关注点,或横切典型的责任划分,如日志和事务管理。 阅读全文
posted @ 2020-11-28 17:01 咔啡 阅读(67) 评论(0) 推荐(0)
摘要: 其实还是得结合业务来思考,我这里给几个思路: 比如你拿个数据要写库,你先根据主键查一下,如果这数据都有了,你就别插入 了,update 一下好吧。 比如你是写 Redis,那没问题了,反正每次都是 set,天然幂等性。 比如你不是上面两个场景,那做的稍微复杂一点,你需要让生产者发送每条数据 的时候, 阅读全文
posted @ 2020-11-28 17:00 咔啡 阅读(380) 评论(0) 推荐(0)
摘要: 随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越 复杂,诞生了面向服务的架构体系(SOA), 也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信 协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。 就这样为分布式系统的服务治理框架就出现 阅读全文
posted @ 2020-11-28 16:59 咔啡 阅读(382) 评论(0) 推荐(0)
摘要: (1).Kafka 持久化日志,这些日志可以被重复读取和无限期保留 (2).Kafka 是一个分布式系统:它以集群的方式运行,可以灵活伸缩,在内部通过 复制数据提升容错能力和高可用性 (3).Kafka 支持实时的流式处理 阅读全文
posted @ 2020-11-28 16:57 咔啡 阅读(964) 评论(0) 推荐(0)
摘要: 使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。 阅读全文
posted @ 2020-11-28 16:56 咔啡 阅读(106) 评论(0) 推荐(0)
摘要: 可以继承其他类或实现其他接口,在 Swing 编程和 Android 开发中常用此方式来 实现事件监听和回调。 阅读全文
posted @ 2020-11-28 16:53 咔啡 阅读(288) 评论(0) 推荐(0)
摘要: IOC 或 依赖注入把应用的代码量降到最低。它使应用容易测试,单元测试不再需要单例和JNDI查找机制。最小的代价和最小的侵入性使松散耦合得以实现。IOC容器支持加载服务时的饿汉式初始化和懒加载。 阅读全文
posted @ 2020-11-28 16:51 咔啡 阅读(177) 评论(0) 推荐(0)
摘要: kafka 使用 seek(TopicPartition, long)指定新的消费位置。用于查找服务器保留 的最早和最新的 offset 的特殊的方法也可用(seekToBeginning(Collection) 和 seekToEnd(Collection)) 阅读全文
posted @ 2020-11-28 16:48 咔啡 阅读(228) 评论(0) 推荐(0)
摘要: delete 属于DML语句,删除数据,保留表结构,需要commit,可以回滚,如果数据量大,很慢。 truncate 属于DDL语句,删除所有数据,保留表结构,自动commit,不可以回滚,一次全部删除所有数据,速度相对较快。 Drop属于 DDL语句,删除数据和表结构,不需要commit,删除速 阅读全文
posted @ 2020-11-28 16:46 咔啡 阅读(297) 评论(0) 推荐(0)
摘要: 抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现,否则该类仍然需要被声明为抽象类。接口比抽象类更加抽象,因为抽象类中可以定义构造器,可以有抽象方法和具体方法,而接口中不能定义构造器而且其中的方法全部都是抽象方 阅读全文
posted @ 2020-11-28 16:45 咔啡 阅读(294) 评论(0) 推荐(0)
摘要: Spring的MVC框架是围绕DispatcherServlet来设计的,它用来处理所有的HTTP请求和响应。 阅读全文
posted @ 2020-11-28 16:43 咔啡 阅读(63) 评论(0) 推荐(0)
摘要: 通常我们定义一个基本数据类型的变量,一个对象的引用,还有就是函数调用的现场保存都使用JVM中的栈空间;而通过new关键字和构造器创建的对象则放在堆空间,堆是垃圾收集器管理的主要区域,由于现在的垃圾收集器都采用分代收集算法,所以堆空间还可以细分为新生代和老生代,再具体一点可以分为Eden、Surviv 阅读全文
posted @ 2020-11-28 16:41 咔啡 阅读(176) 评论(0) 推荐(0)
摘要: 面向对象的编程语言有4个主要的特征。封装:封装是保证软件部件具有优良的模块性的基础,封装的目标就是要实现软件部件的“高内聚、低耦合”,防止程序相互依赖性而带来的变动影响。把握一个原则:把对同一事物进行操作的方法和相关的方法放在同一个类中,把方法和它操作的数据放在同一个类中。抽象:抽象就是找出一些事物 阅读全文
posted @ 2020-11-28 16:40 咔啡 阅读(173) 评论(0) 推荐(0)
摘要: 默认是阻塞的,可以异步调用,没有返回值的可以这么做。 Dubbo 是基于 NIO 的非阻塞实现并行调用,客户端不需要启动多线程即可完成 并行调用多个远程服务,相对多线程开销较小,异步调用会返回一个 Future 对 象。 阅读全文
posted @ 2020-11-28 16:39 咔啡 阅读(143) 评论(0) 推荐(0)
摘要: 构造器Constructor不能被继承,因此不能重写Override,但可以被重载Overload。 阅读全文
posted @ 2020-11-28 16:38 咔啡 阅读(87) 评论(0) 推荐(0)
摘要: 如果面试官问这个问题,那么他的意图一定是让你区分Iterator不同于Enumeration的两个方面: ●Iterator允许移除从底层集合的元素。 ●Iterator的方法名是标准化的。 阅读全文
posted @ 2020-11-28 16:37 咔啡 阅读(238) 评论(0) 推荐(0)
摘要: (1)节点必须可以维护和 ZooKeeper 的连接,Zookeeper 通过心跳机制检查每 个节点的连接 (2)如果节点是个 follower,他必须能及时的同步 leader 的写操作,延时不能太 久 阅读全文
posted @ 2020-11-28 16:35 咔啡 阅读(1357) 评论(0) 推荐(0)
摘要: 和 MQTT 的事务定义一样都是 3 种。 (1)最多一次: 消息不会被重复发送,最多被传输一次,但也有可能一次不传输 (2)最少一次: 消息不会被漏发送,最少被传输一次,但也有可能被重复传输. (3)精确的一次(Exactly once): 不会漏传输也不会重复传输,每个消息都传输 被一次而且仅仅 阅读全文
posted @ 2020-11-28 16:32 咔啡 阅读(408) 评论(0) 推荐(0)
摘要: 系统可用性降低 系统引入的外部依赖越多,越容易挂掉,本来你就是 A 系统调用 BCD 三个系统的 接口就好了,人 ABCD 四个系统好好的,没啥问题,你偏加个 MQ 进来,万一 MQ 挂了咋整?MQ 挂了,整套系统崩溃了,你不就完了么。 系统复杂性提高 硬生生加个 MQ 进来,你怎么保证消息没有重复 阅读全文
posted @ 2020-11-28 16:29 咔啡 阅读(141) 评论(0) 推荐(0)
摘要: bin/kafka-topics.sh --list --zookeeper localhost:2181 阅读全文
posted @ 2020-11-28 16:27 咔啡 阅读(467) 评论(0) 推荐(0)
摘要: 大部分消息系统在 broker 端的维护消息被消费的记录:一个消息被分发到 consumer 后 broker 就马上进行标记或者等待 customer 的通知后进行标记。这 样也可以在消息在消费后立马就删除以减少空间占用。 但是这样会不会有什么问题呢?如果一条消息发送出去之后就立即被标记为消费 过 阅读全文
posted @ 2020-11-28 16:26 咔啡 阅读(649) 评论(0) 推荐(0)
摘要: int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况。例如,要想表达出没有参加考试和考试成绩 阅读全文
posted @ 2020-11-28 16:24 咔啡 阅读(326) 评论(0) 推荐(0)
摘要: 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据 丢失风险。许多消息队列所采用的”插入-获取-删除”范式中,在把一个消息从队 列中删除之前,需要你的处理系统明确的指出该消息已经被处理 阅读全文
posted @ 2020-11-28 16:21 咔啡 阅读(222) 评论(0) 推荐(0)
摘要: FreeMarker 是一个基于 Java 的模板引擎,最初专注于使用 MVC 软件架构进行动 态网页生成。使用 Freemarker 的主要优点是表示层和业务层的完全分离。程序员 可以处理应用程序代码,而设计人员可以处理 html 页面设计。最后使用 freemarker 可以将这些结合起来,给出 阅读全文
posted @ 2020-11-28 16:20 咔啡 阅读(216) 评论(0) 推荐(0)
摘要: Feign 是受到 Retrofit,JAXRS-2.0 和 WebSocket 启发的 java 客户端联编程序。 Feign 的第一个目标是将约束分母的复杂性统一到 http apis,而不考虑其稳定性。 在 employee-consumer 的例子中,我们使用了 employee-produ 阅读全文
posted @ 2020-11-28 16:16 咔啡 阅读(490) 评论(0) 推荐(0)
摘要: 镜像集群模式 你创建的 queue,无论元数据还是 queue 里的消息都会存在于多个实例上,然后 每次你写消息到 queue 的时候,都会自动把消息到多个实例的 queue 里进行消息 同步。 好处在于,你任何一个机器宕机了,没事儿,别的机器都可以用。坏处在于,第 一,这个性能开销也太大了吧,消息 阅读全文
posted @ 2020-11-28 16:14 咔啡 阅读(71) 评论(0) 推荐(0)
摘要: 工作原理:JAVA EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空 阅读全文
posted @ 2020-11-28 15:22 咔啡 阅读(61) 评论(0) 推荐(0)
摘要: Kafka 最初考虑的问题是,customer 应该从 brokes 拉取消息还是 brokers 将消 息推送到 consumer,也就是 pull 还 push。在这方面,Kafka 遵循了一种大部分 消息系统共同的传统的设计:producer 将消息推送到 broker,consumer 从 阅读全文
posted @ 2020-11-28 15:09 咔啡 阅读(235) 评论(0) 推荐(0)
摘要: 消息提供方->路由->一至多个队列 消息发布到交换器时,消息将拥有一个路由键(routing key),在消息创建时设 定。 通过队列路由键,可以把队列绑定到交换器上。 消息到达交换器后,RabbitMQ 会将消息的路由键与队列的路由键进行匹配(针 对不同的交换器有不同的路由规则); 常用的交换器主 阅读全文
posted @ 2020-11-28 15:08 咔啡 阅读(101) 评论(0) 推荐(0)
摘要: 不同的 Xml 映射文件,如果配置了 namespace,那么 id 可以重复;如果没有配 置 namespace,那么 id 不能重复; 原因就是 namespace+id 是作为 Map<String, MapperStatement>的 key 使用的,如果没有 namespace,就剩下 i 阅读全文
posted @ 2020-11-28 15:07 咔啡 阅读(348) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 55 下一页
点击右上角即可分享
微信分享提示